CV
文章平均质量分 64
disanda
disanda.github.io
展开
-
图片压缩:SVD和PCA提取主成分使图片降维
这里写自定义目录标题通过SVD降维,提取主成分并重构图片Reference通过SVD降维,提取主成分并重构图片大概思路:图片是长宽为 H,W的矩阵Mat, 那么Mat的特征数量为Max(H,W).对Mat进行SVD分解: U, s, v = SVD(Mat). 即图中的 M = U.s.v。然后提取U,diag(s)以及vt的前30个特征, 重构后图片如下(灰度图,若RGB则选择B通道):代码如下:import numpy as npimport matplotlib.pyplot as原创 2021-09-15 15:10:14 · 600 阅读 · 0 评论 -
神经网络计算过程(正向传播,反向传播,优化策略和参数更新)
神经网络计算过程原理是设计一个多参数的非线性组合模型,即多层神经网络model.用这个model来近似(拟合)一个无法求出的复杂函数 y = f(x).(输入x和输出y皆为高维变量的)定义这个模型的前向传播过程,即forward : 即数据input进model,model输出output,类似y=f(x).根据Loss的定义,一般为真实样本的(y,x),和模型的随机输入和输出 (z,y’)的比较函数。在Loss中分别对每个维度的参数求其偏导数,得到每个参数的偏导数值即x_i.grad()原创 2020-10-06 18:31:10 · 1064 阅读 · 0 评论 -
图片中的上采样,下采样和通道融合(up-sample, down-sample, channel confusion)
前言以conv2d为例(即图片),Pytorch中输入的数据格式为tensor,格式为:[N, C, W, H, W]第一维N.代表图片个数,类似一个batch里面有N张图片第二维C. 代表通道数,在模型中输入如果为彩色,常用RGB三色图,那么就是3维,即C=3。如果是黑白的,即灰度图,那么只有一个通道,即C=1第三维H. 代表图片的高度,H的数量是图片像素的列数第四维W. 代表图片的宽度,W的数量是图片像素的列数如果H=W,那么图片是正方形的,总像素为H*W, 和分辨率是同义词。原创 2020-08-19 18:08:00 · 6515 阅读 · 0 评论 -
Python下操作图片的库(scipy, PIL, matplotlib, opencv)
主要有4个库,我们通过CV中的常见读写操作来介绍:path = ‘1.jpg’1.scipy.misc (imageio)这个库老版本(1.3.0)是用 imread()和 imwirte()完成操作,新版本改用imageioimport imageioa1 = imageio.imread(path)plt.imshow(a1)plt.show()imageio.imwrite('imageio.png',im2)#默认4通道,且像素范围是0-255的整数print(a1.dt原创 2020-07-03 16:17:29 · 258 阅读 · 0 评论