此文档主要是学习优酷里面的浙大机器视觉(谭平老师自录)的课程学习笔记,主要是重新熟悉一些基础理论知识。

一、camera

小孔成像原理

1.光圈,光圈就是与那个小孔的参数,大光圈即孔大些,则前景光聚焦好,后景光聚光就发散,形成虚化效果,这样就使得景深小,小光圈则相反,需要曝光时间久些,在camera中 光圈是F表示,光圈大小去F的倒数,即数值越小,光圈越大。日F1.4,F5.6等

2.视角 Filed of view(Zoom)

镜头焦距小,视角FOV大,即为广角,镜头焦距大,视角FOV小,

二、COLOR

HSV

RGB

YUV

三种不同的表示方法

其中人对绿色较为敏感

三、光照模型

radiance 单位空间角度内收到的能量,irradiance单位时间单位面积如(CCD)接收到的能量,这个能量与图片的像素值的函数关系。

四、Filtters

1.edge detecting

索贝尔算子

高斯模糊

颜色梯度

2.Bilateral filter(双边)在梯度大的地方不同模糊参数不同,

3.一些惯用trick

图像detail: 通过边缘平滑图-原图

边缘明显:通过边缘平滑图+原图

五、Interactive segmantation

用了graph cut 图切割

原理用max flow 来理解

六、Feature

1.Harris corner

就是找出哪些颜色尖点,在每一个像素邻域内计算梯度变换大小总和,巧妙的运用泰勒展开得到一个M矩阵,通过对这个矩阵求特征值和特征向量即可判断(需要阈值),党两个特征值都足够大就是特征点,一个大一个小就是边界,这样直接通过对矩阵M  用det(M)/Trace(M)及可判断。可以加些尺度自适应进去

2.Fast corner

七、Descriptors

描述子,用来描述特征点的数据

SIFT    SURF      BRIEF    ORB    GIST   HOG

后面添加

几何摄影里面的基础数学知识

1.一条平面直线用参数形式表示,可以把参数抽出来(a,b,c)看作是一个向量,一个向量可以对应一条平面直线;

2.一个点 如果用齐次坐标表示(x,y,z)(define up to scale),可以把一个点看成一个向量,但这个向量只有两个dof;

3.如果一个点在一个直线上,可以把对应的点(x,y,z) 放到代表直线的向量中,进行内积,如果内积为0,就表示这个点在直线上;

4.两条直线的交点,直接可以用表示直线的向量进行叉乘,得出的就是两条直线的交点(齐次坐标),需要除以第三个元素转换成欧式点,平行的话,第三个元素就是0;

5.两个点可以确定一条直线,通过两个点(齐次坐标),直接进行叉乘就可以得到这两个点确定的直线;

6.所有的无穷远点(x,y,0)都会经过一条直线(0,0,1) ;

7.点和线对偶,线与线对偶,三维空间里面,点与平面对偶,线与线对偶;

8.椭圆可以用一个二次曲线描述,转换成一个参数表达,可以用一个3*3的矩阵表示(是一个对称矩阵),5个平面的点,可以拟合一个椭圆;

还需要一个约束,即C 不能等于0,即C的norm=1,这样就可以用SVD求的 把求得的V的最后一列就是所求解。

9.三个向量共面,则mix-product=0,mix-product的物理意义是这三个向量组成的平行立方体的体积。

八、homograph

1基本知识(来源于知乎:单应性Homograph估计:从传统算法到深度学习 - 知乎

图像旋转平移、仿射变换

  • 单应性是什么?

此处给出单应性不严谨的定义:用 [无镜头畸变] 的相机从不同位置拍摄 [同一平面物体] 的图像之间存在单应性,可以用 [投影变换] 表示 。

 

九、双目、极平面、极线等 可参考双目相机基本原理

十、相机几何模型

1. Resectoning

就是已知一个空间三维点,投影到相机平面,那中间那个投影矩阵怎么求? 即投影矩阵,这个投影矩阵包括了内参和外参

p可能有个退化解,所以加了个约束P的norm等于1,但有个更好的约束,即投影矩阵的第三行前三个数组成的向量因为表示的就是相机中心点的朝向(即相机平面的法向量1*3),直接让他的norm等与1,即就是单位方向了。

注: P 是一个3*4的矩阵,就是空间上的点 到成像平面的投影矩阵,直接包括了后面的内参和外参矩阵的融合。按列分解,每一列分别对应的是在x,y,z方向的无穷远点,和原点(世界坐标系原点(0,0,0))在相机平面的投影,按行分,第三行对应的是相机平面的法向量方向

DLT是一种代数优化 求投影矩阵P,还有一种是通过优化几何距离求P,其步骤首先对空间点和像平面点进行normalization:

2.PnP(Perspective-n-Points)

就是已知内参矩阵,去求外参矩阵的一种方法:

主要用到余弦定理,已知世界坐标系下的点P(X,Y,Z)对应了相机图像里面的p(x,y,z),

只要求出P点在相机坐标系下的坐标就可以利用3个以上的点得出的对应关系求解出相机在世界坐标系下的变换矩阵(R、T)

主要是求解方法,现在基本用Epnp来求解

十一、Calibration 标定

思想:内参的标定,假设有个空间点e,该点在相机平面的投影就是内参矩阵*外参矩阵(世界坐标到相机坐标的变换矩阵)*点e,如果选一个z方向上的一个点,且是一个无穷远,其投影到成像平面的坐标就是vi,当再选取一个与z方向垂直的放向上的一个无穷远,其其投影到成像平面的坐标就是vj,垂直,那其两个的方向的内机为0,利用这种关系就可以求出内参矩阵K,如下ppt

三个互相垂直的方向,对应三个投影平面的是哪个像素点,有三组方向,三个未知数,就可以求内参了。

2.在相机坐标系下,如果以及内参标定,给出已给空间点在图像上的坐标(在相机坐标系下),就可以求出这个空间点在相机坐标系下的朝向;如果给出两个空间点,可以直接算出相机中心点到这两点的向量之间的夹角:

3.在摄影几何里,任何空间上的一个圆与一条无穷远线都会相交与两个点(虚数点,想象出来的):

相似的,任何一个球面,与无穷远的平面都会相交与一个绝对椭圆,这个椭圆的点是由这些平面里的两个circular points 组成(每个平面都有一条无穷远线上的)。一个椭圆可以由一个3*3的矩阵表示。

就是这个IAC,绝对椭圆在成像平面的投影,也是一个椭圆,可以通过3*3矩阵表示。

2.基于以上基础,去理解张正友标定方法

就是三块标定板(也可利用一块标定板在不同平面位置拍三张图片),每一块标定板平面都会有两个circular points (以为每个平面都有一条无穷远线有这两个circular points,),在每一块标定板上有一个正方形,四个角点,以其中一个角点为坐标原点,其他两个为两个垂直坐标方向的点,还有一个是(1,1)点,即每块标定板都有一个自己的坐标系,对应的这四个角点投影到相机平面上都有四个点(很容易通过角点提取出像素位置),有了像素位置 和空间位置,且有4对点,就可以通过SVD求出homograph matrix  ,计算每个平面的两个circular points 投影到到成像平面的点(用Homograph matrix去变换),3个平面就有6个点,这样就可以拟合一个椭圆了(椭圆需要5个点拟合),这个椭圆有了,就可以通过 求出K 及内参。

十二、小结

1.Homograph matrix 是一个平面坐标到另一个平面坐标的变换矩阵(要满足单应性,投影变换,即直线还是直线),典型的就是拼全景图是,两张图存在一个变换矩阵,求H出来,就可以把两张图拼在一起;

2.投影矩阵(projection matrix), 就是一个实物点(空间点)投影到图像坐标的变换矩阵,分几种情况,一个是内参外参都不知道,直接利用多个对应点求出P;另外一种是已知内参,求外参 PnP方法;还有一种是求内参(标定),利用消失的垂直点求出来,或者是张正友的绝对椭圆求出来。

十三、Two-View

两个相机,看到同一个物体点,存在这一些集合约束:

几个重要的概念

epipolar plane 极平面、epipolar line 极线、epipole  极点

关键的两个约束矩阵 Essential matrix,。

1.Essential matrix 是已知内参的情况下的约束矩阵:

2.Fundamental matrix是内参未知的情况下的约束矩阵:

有以下属性:

3.如果已知 Fundamental matrix

根据一张图的特征点位置,可以在另外一张图中找到极线,利用缩小特征点匹配范围

剩下的就是如果求这两个矩阵了,

可以7点法等,要注意的是

当相机只有旋转时,就退化成单应性,无解,用homography来求,如果场景时纯平面时也无解

4.Essential matrix 可以通过F来求出,也可以用8点发来求:

5.Essential matrix 可以推出相机的投影矩阵

有四个解,要排除,找出计算出来的点(根据图像算出三维点)在两个相机前面 较多的那个

计算机视觉基础理论知识相关推荐

  1. CTF基础理论知识01

    清理,不想放在草稿箱吃灰... 文章目录 基础理论知识 1.SSL 2.包过滤技术与代理技术的比较 3.信息安全的CIA模型中的三个信息安全中心目标: 4.网络安全审计做为企业越来越重要的信息安全防护 ...

  2. 工程计算软件_软件工程师的计算机基础理论知识体系

    想要成为一名合格的软件工程师,需要学习的计算机方面的很多知识和理论,这里给大家通俗的说下需要知道的基础理论知识体系有哪些. 以某大学的计算机相关专业的四年课程举例: Java语言.C语言.Python ...

  3. 大学计算机知识考试题,大学计算机基础理论知识前三章测试题

    <大学计算机基础理论知识前三章测试题>由会员分享,可在线阅读,更多相关<大学计算机基础理论知识前三章测试题(8页珍藏版)>请在装配图网上搜索. 1.第一章引论选择题1. 工资管 ...

  4. 论基础理论知识的重要性

    前言 在计算机行业工作的人们,最大的感触就是这个行业里总是会出现很多的新东西,各种技术.框架等等,变化无处不在,有很大一部分人都比较焦虑.在一些论坛或者社区里面总是有人在问如何学习一门新技术?怎样才能 ...

  5. Zigbee基础理论知识总结

    Zigbee基础理论知识总结 前言 章节 Zigbee概述 概念 特点 芯片 协议栈 开发环境 Zigbee技术原理 网络结构 网络体系 拓扑结构 协议架构 物理层 工作频段分配 信道分配 物理层服务 ...

  6. 陕西省2011年教师资格证教育基础理论知识考试报名通知

    各市(区)教育局,各普通高等学校: 根据<陕西省教师资格考试办法>有关规定,现就做好2011年全省中小学教师资格考试与认定工作有关事项通知如下: 一.考试对象 拟申请认定中小学教师资格的人 ...

  7. 计算机网络知识的PPT,计算机网络基础理论知识.ppt

    计算机网络基础理论知识.ppt 1上一页下一页目录2第一篇计算机网络基础内容简介11计算机网络的定义12计算机网络组成与功能13计算机网络的发展14计算机网络的分类15计算机网络拓扑结构16计算机网络 ...

  8. MIKE水动力笔记2_水动力基础理论知识

    本文目录 前言 [第2章 水动力学]重点知识 2.1 水动力过程 2.1.1 水的密度 2.1.2 守恒律 2.1.3 对流和扩散 2.1.4 质量守恒方程 2.1.5 大气驱动力 2.1.6 科氏力 ...

  9. 大学计算机考试基础理论试题,大学计算机基础理论知识前三章测试题

    <大学计算机基础理论知识前三章测试题>由会员分享,可在线阅读,更多相关<大学计算机基础理论知识前三章测试题(8页珍藏版)>请在人人文库网上搜索. 1.第一章引论选择题1. 工资 ...

最新文章

  1. jmeter 线程执行顺序_面试官让我说出8种线程顺序执行的方法!我懵了
  2. 研究人员使用脑机接口从神经信号中重建单词
  3. 如何实现32.5万笔/秒的交易峰值?阿里交易系统TMF2.0技术揭秘
  4. Markdown编辑表格实现合并单元格、单元格内容换行
  5. 字节、编码、字符、字符集 专题
  6. Android之android.graphics.drawable.Drawable.Callback回调接口
  7. 分段处理_连续油管无限级可开关固井滑套分段压裂工艺
  8. 判别模型、生成模型与朴素贝叶斯方法
  9. 谷歌最新开源的工具可以自动化查找并修复 bug!
  10. 转【是什么浪费了我的时间 】
  11. 一个极简的RePlugin
  12. ASP.NET MVC IOC之Unity攻略
  13. 找不到匹配的key exchange算法_AC自动机 | 多字符串匹配你会吗?
  14. 文件源路径太长无法删除
  15. [学习][记录] c++语言:从放弃到入门 <一> c++11新关键字以及引入的新特性
  16. python barcode字符串生成条形码_python批量生成条形码的示例
  17. HTML超链接QQ在线聊天
  18. 使用for循环编写倒立反方向直角三角形
  19. 怎样在ipad安装ipa文件
  20. Android高德地图使用自定义指南针

热门文章

  1. 二代测序原理(Illumina)
  2. Adobe认证证书(ACCD/ACPE)说明
  3. IP地址IP网段合并
  4. 深度学习知识点总结:深度学习常用公式总结
  5. python提取每个单词首字母_如何将字符串中每个单词的首字母大写(Python)?
  6. Python批量爬取华语天王巨星周杰伦的音乐
  7. 渗透测试之---xss-labs闯关【1-14关】
  8. Activiti6.0流程引擎学习——(22)activiti的任务管理服务(TaskService)
  9. 我的微软亚洲研究院实习生面试经历
  10. 在vop中重构transform节点(一)