张森ZS

write code everyday

导航

计算机速成课 第三十五集 计算机视觉

1. 背景

  • 视觉是信息最多的感官,比如周围的世界是怎样的,如何和世界交互
  • 因此半个世纪来,计算机科学家一直在想办法让计算机有视觉
  • 因此诞生了「计算机视觉」这个领域

2. 图像

  • 是像素网格,每个像素通过红、绿、蓝三种基色来定义,
  • 通过组合三种颜色的强度,可以得到任何颜色,也叫 RGB 值

3. 最简单的计算机视觉算法

最适合拿来入门的,是跟踪一个物体,比如一个粉色的球

4. 颜色跟踪算法

  • 一个个像素搜索,但是这种方法不适合占多个像素的特征

5. 检测垂直边缘的算法:

  • 把图片转成灰度
  • 某像素是垂直边缘的可能性取决于左右两边像素的颜色差异程度,左右像素的差别越大,这个像素越可能是边缘,如果色差很小,就不是边缘
  • 把「核」用于照片中的每个像素的时候,垂直边缘的像素值很高,水平边缘几乎看不见

6. 核/过滤器

  • 是一个操作的数学符号
  • 里面的数字用来做像素乘法
  • 总和存到中心像素里
  • 作用:可以做很多种图像转换。例如:锐化图像、模糊图像,也可以匹配特定形状,

7. 卷积

  • 把「核」应用于像素块,这种操作叫「卷积」

8. Prewitt 算子

  • 即(垂直和水平)边缘增强的核
  • 以发明者姓名命名

9. 维奥拉·琼斯 人脸检测

  • 单个核找出脸的图像的能力很弱,但组合在一起会相当准确

10. 卷积神经网络

  • 如今的热门算法
  • 用很多个神经元来处理图像数据,每个核都会输出一个新图像,本质上是被不同的「核」处理了,输出后会被后面一层神经元处理,卷积卷积再卷积,不断重复,然后增加复杂度,直到某一层把所有特征放到一起,
  • 不是非要有很多层,但是一般有很多层来识别复杂物体核场景,所以算是「深度学习」

11. 维奥拉·琼斯 和 卷积神经网络的使用场景

  • 识别人脸
  • 识别手写文字
  • 在 CT 扫描中发现肿瘤
  • 监测马路是否拥堵

12. 情感识别算法

  • 识别出人脸后,可以用更专用的计算机视觉算法来定位面部标志,比如眉毛、鼻尖和嘴角
  • 有了标志点,判断眼睛张没张开就很容易了,原理就是判断点和点之间的距离,
  • 眉毛相对眼睛的位置,可以代表惊喜或者喜悦
  • 根据嘴巴的标志点,检测出微笑也很简单
  • 上面这些场景都可以使用「情感识别算法」来识别,让电脑知道你是开心、忧伤、沮丧或者困惑等等,然后计算机给出合适的行为,

13. 生物识别

  • 面部标记点,也可以捕捉脸的形状,比如两只眼睛之间的距离,以及前额有多高
  • 场景: 手机解锁、使用摄像头跟踪人

总结:抽象是构建复杂系统的关键

posted on 2022-06-03 17:28  张森ZS  阅读(49)  评论(0编辑  收藏  举报