[学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 3 线性代数初步
向量和矩阵
什么是矩阵/向量?
Vectors and matrix are just collections of ordered numbers that represent something: movements in space, scaling factors, pixel brightness, etc. We'll define some common uses and standard operations on them.
向量:列向量/行向量
用处:
- Vectos can represented an offset in 2D or 3D space; points are just vectors from the origion
- data(pixels, gradient at an image key point)can be treated as a vector
矩阵:在python中图像被表示为像素亮度矩阵, grayscale(m*n), color(m*n*3)
算术运算:
- addition
- scaling
- norm: vector/matrix

- inner prodcut/dot product of vectors
- product of matrix
- transpose
- determinant
通常任何满足以下四种性质的函数都可以作为范数:
- 非负性
- 正定性
- 齐次性
- 三角不等式
特殊矩阵
- 单位阵
- 对角阵
- 对称阵
- 反对阵矩阵
变换矩阵
矩阵可以用来对向量进行变换
- scaling
- rotation
齐次系统/齐次坐标:
变换矩阵最右列被加到原有向量中
这里有时候会用到前面看的仿射矩阵affine matrix 的知识(见参考资料):

平移(translation):

缩放(scaling)

旋转(rotation)

平移旋转缩放

矩阵的逆
如果A的逆存在,A是可逆的或者是非奇异的non-singular; 否则是不可逆或者是奇异的.
伪逆(pseudoinverse):在计算大型矩阵逆的时候,会伴随这浮点数问题,而且不是每个矩阵都有逆
np.linalg(A,B) to solve AX = B
如果没有具体解, 返回最近的一个解
如果有多个解,返回最小的那个解
矩阵的阶
the rank of a transforamtion matrix tells you hwo many dimensions it transforms a vector to.

满秩; m*m 矩阵,阶数为m
阶数 < 5, 奇异矩阵,逆不存在
非方阵没有逆
特征值和特征向量
what is eigenvector?
An eigenvector x of a linear transformation A is a non-zero vector that when A is applied to it, does not change direction. And only scales the eigenvector by the scalar value \lambda, called an eigenvalue.
$$Ax = \lambda x$$
$Ax = (\lambda I)x, \rightarrow (\lambda I - A)x = 0$, $x$ is non-zero, thus, $|(\lambda I - A)| = 0$
性质:
- $tr(A) = \sum_{i=1}^n \lambda_i$
- $|A| = \prod_{i=1}^n \lambda_i$
- the rank of A is equal to the number of non-zero eigenvalues of A
- the eigenvalues of a diagonal matrix $D = diag(d_1,...d_n)$ are just the diagonal entries $d_1, ..., d_n$
分形理论(spectral theroy)


对角化(diagonalization)
如果n*n矩阵有n个线性独立的特征向量,则它是可对角化的
如果n*n矩阵有n个不同的特征值,则它是可对角化的
对应着不同特征值的特征向量是线性独立的
所有的特征向量方程可以写为:
$$AV = VD$$
$V \in R^{n*n}$ V的列是A的特征向量,D为对角矩阵,对应着值为A的特征值. 如果A可以写为:$A = VDV^{-1}$则A可对角化

特征值特征向量和对称对阵
对称矩阵的性质:$A^{-1} = A^T$, A所有的特征值都是实数,A所有的特征向量都是正交的.

Some applications of eigenvlues: PageRank, Schrodinger's equation, PCA
矩阵代数
矩阵梯度:


Hessian Matrix

参考资料:
https://docs.microsoft.com/en-us/dotnet/framework/winforms/advanced/how-to-rotate-reflect-and-skew-images
[学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 3 线性代数初步的更多相关文章
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 1 课程介绍
课程大纲:http://vision.stanford.edu/teaching/cs131_fall1718/syllabus.html 课程定位: 课程交叉: what is (computer) ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 2 颜色和数学基础
大纲 what is color? The result of interaction between physical light in the environment and our visual ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 4 像素和滤波器
Background reading: Forsyth and Ponce, Computer Vision Chapter 7 Image sampling and quantization Typ ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 9 深度学习
深度学习 So far this week Edge detection RANSAC SIFT K-Means Linear classifier Mean-shift PCA/Eigenfaces ...
- Computer Vision: Algorithms and ApplicationsのImage processing
实在是太喜欢Richard Szeliski的这本书了.每一章节(after chapter3)都详述了该研究方向比較新的成果.还有很多很多的reference,假设你感兴趣.全然能够看那些參考论文 ...
- ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步
一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...
- Cocos2dx 3.1.1 学习笔记整理(4):事件监听与Action的初步使用
项目忙,趁着刚才有点空,看了下触摸事件在新版本中怎么实现,遇到问题都是去:cocos2d-x-3.1.1\tests\cpp-tests\Classes下面找的,里面都是一些小例子. 首先新的CCNo ...
- Computer Vision: OpenCV, Feature Tracking, and Beyond--From <<Make Things See>> by Greg
In the 1960s, the legendary Stanford artificial intelligence pioneer, John McCarthy, famously gave a ...
- Computer Vision Algorithm Implementations
Participate in Reproducible Research General Image Processing OpenCV (C/C++ code, BSD lic) Image man ...
随机推荐
- Project Euler 15 Lattice paths
题意:在20×20方阵中从起点出发只允许向右或向下移动到达终点的路径有多少条. 思路:每次只能向右或者向下,总共 40 步,也就是 40 步中每一步都有两种选择,也就是 C (40 , 20) . 为 ...
- C#通过SendMessage发送消息,改变其他程序的下拉框控件(ComboBox)的值
IntPtr cbh= new IntPtr(handle); //ComboBox的句柄 SendMessage(cbh, 0x014D, new IntPtr(-1), "需要选中的下拉 ...
- 最快理解 - IO多路复用:select / poll / epoll 的区别.
目录 第一个解决方案(多线程) 第二个解决方案(select) 第三个解决方案(poll) 最终解决方案(epoll) 客栈遇到的问题 从开始学习编程后,我就想开一个 Hello World 餐厅,由 ...
- Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- soapui测试接口使用步骤
1.新建项目 2. 定义接口 url输入接口 3.新建测试集 选择项目,右键 4.在测试集下新建测试用例 5.在测试步骤中导入要测试的请求 6.run
- rabbitMQ学习笔记(七) RPC 远程过程调用
关于RPC的介绍请参考百度百科里的关于RPC的介绍:http://baike.baidu.com/view/32726.htm#sub32726 现在来看看Rabbitmq中RPC吧!RPC的工作示意 ...
- oracle常见sql语句优化
1.* 号引起的运行效率 尽量降低使用select * 来进行查询,当你查询使用*, 数据库会进行解析并将*转换为所有列. select count(si.student_id) from Stud ...
- WebGL 权威资源站小聚
WebGL 权威资源站小聚 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句 ...
- phpmyadmin客户端多服务器配置
修改libraries/config.default.php 545行,添加 $cfg['Servers']['2'] = $cfg['Servers'][$i];$cfg['Servers']['2 ...
- ES内存持续上升问题定位
https://discuss.elastic.co/t/memory-usage-of-the-machine-with-es-is-continuously-increasing/23537/ ...