计算机视觉—照相机(上)
我有一个梦想,每个人在不同时期都有不同的梦想,最近我的梦想就是 zidriver 计划,实现我的无人驾驶梦想。虽然这是一个看似不可完成任务,最终也可能也是笑话,
不过我想试一试,不是怎么知道是笑话。本人资金有限,所以选择 SLAM 技术来开发 zidriver 无人驾驶,最初 SLAM 用于机器人对环境导航,最近也被应用无人驾驶来感知环境,来进行导航。SLAM 计算涉及到面相对比较杂和广,资料也不多,这成为我们学习 SLAM 的难题。我们今天学习计算机。
希望大家跟我一起学习和分享研究的乐趣。这是视觉博物馆的一个场景,设计师利用我们视觉错觉来创造一些场景。
计算机视觉
随着深度学习的发展同时也带到了计算机视觉,在人脸识别,物体识别以及领域上计算机视觉和深度学习结合在这些领域上取得一项又一项人引注目的成绩。所以现在是学习计算机最好时机。许多投资人都关注计算机方面技术。
计算机视觉的应用
最近有许多有趣项目都是利用了计算机视觉技术,这个就是捕捉我们表情将其还原到明星表情上。iphone 也用到这些计算来将表情还原到 3D 卡通模型上。
face2face
图无人驾驶
还有就是我们今天重头戏,无人驾驶上,我们会一直关注这些技术。
图
需要
不过用更好理解计算机视觉以及其应用,我们还需补一补线性代数和高等数据,不然一些原理是无法理解。当然还需要具备一定的物理知识。这里我们学到那里就学到那里补到那里。
分享范围
- 角点和边缘检测
- 图像追踪
- 图像的理解
- 照相机反求
- 3D 构建
- 图像分类和分割
- 心理学
- 深度学习
照相机的结构
物体每一个点发出光线都会投射到平面(胶片)上任意位置,这样最终胶片是无法成像的。
针孔照相机,这里针孔不是偷拍的针孔照相机,而是一个经典的照相机模型。通过物体和胶片间的障碍物上小孔,可以保证物体上每一个点都对应胶片上的一点。这个小孔就是我们熟悉光圈。
其实小孔成像本质是将 3维压缩为 2维胶片上。从而也就丢失距离信息。角度信息的就是丢失,看到相互,并行关系被破坏,长度也发生变化了。所以我们需要通过学习将这些变形和错觉进行还原。当然我们用照相机都不是针孔相机,这是因为如果针孔过大,图像就会blur。如果孔太小那么问题需要很长时间曝光才能成像。可以用一个凸透镜来将到达镜面都聚到一点。凸透镜也会将点散开到小圆。
图
为物体的到凸透镜距离, 表示成像平面(胶片)到凸透镜的距离。f 表示焦距。存在这么一个公式就可以满足在 位置的物体在 平面上成像最佳(清晰)。
光圈
控制进光的量,光圈就是开孔大小来控制进入光,可以控制景深。一旦光圈开大的就会缩小清晰区域。光圈也就是(depth field)就会变大,一些物体的散射不会那么严重,有时候我们需要大光圈得到背景发虚。
图
小光圈带来问题曝光时间。
f 对于定焦的focal length 是不变,我们只会调整 aperture。