计算机视觉引论

20220520171205

类比人类视觉处理流程,计算机视觉研究这些

概念

内容

  • 图像采集模拟人类眼睛对画面的感知;
  • 图像预处理模拟视网膜对画面的采集和处理;
  • 特征提取、边缘检测、图像分割模拟人类对画面中物体的认识;
  • 位置估计、运动估计、相机标定模拟人类对画面中物体行为的理解;
  • 三维视觉则模拟人类对整个画面的内在联系的理解

推荐书籍

  • 数字图像处理:冈萨雷斯著,阮秋琦译,《数字图像处理》
  • 计算机视觉:R. Szeliski著,艾海舟等译,《计算机视觉——算法与应用》
  • 机器视觉:C. Steger著,杨少荣等译,《机器视觉算法与应用》

发展史

  • 起源: 20世纪50年代统计模式识别,二维图像分析。
  • 诞生:1974 Minsky ->David Marr 暑期,1981 人工智能“计算机视觉”专辑。计算机视觉的早期图像表示模型是 Part-based,这样就可以通过 Part 这种组合式的方法表示物体。但很多自然场景的物体没有这么强的结构

Marr视觉计算理论

80年代以后,(1) 随着计算能力的迅速增长,视觉计算成本极大降低(2) 以Marr理论为基础的视觉理论广泛研究。视觉技术得到迅速发展,并在视频监控、工业分析等领域得到广泛应用,特征检测和机器学习同时也开始组合应用,但对物体结构有严格限制(指定对象类型)

  • 目的:通过视觉系统,重建三维物体的形状和位置
  • 2维:过零点(zero-crossing)、短线段、端元等基本特征
  • 2.5维:对物体形状的一些粗略描述
  • 3维:对物体的三维描述

20220520171319

局部特征描述

2000 - 2012 年,局部特征描述得到迅速发展,如SIFT/HOG。特征描述具有通用性,结合SVM等机器学习方法。但效果有限。2006年,Hinton提出深度学习;2010年,微软使用深度学习在语音方面取得突破进展

深度学习

从2012年后,深度学习方法兴起。特征->自动提取;层数->很深

2015年后,深度学习在视觉各应用领域取得突破

  • 2015年,在ImageNet上的识别准确率首次超越人类
  • 2016年,Tesla创造了56亿公里的自动驾驶路测数据
  • 2017年,iPhone X宣布引入Face ID高精度人脸识别技术
  • 2018年,OpenAI 2:1战胜人类DOTA2高手队

系统构成

20220520171822

照明设备:光源

  • 通过适当的光源照明设计,使图像中的目标信息与背景信息得到最佳分离,可以大大降低图像处理算法分割、识别的难度,同时提高系统的定位、测量精度,使系统的可靠性和综合性能得到提高。

  • 如果光源设计不当,会导致在图像处理算法设计和成像系统设计中事倍功半。因此,光源及光学系统设计的成败是决定系统成败的首要因素

  • 常见光源包括室内光线,日光,路灯,补光灯,红外,可见光,补光LED(白光,红外)等

  • 在机器视觉系统中,光源的作用至少有以下几种作用

    • 照亮目标,提高目标亮度;
    • 形成最有利于图像处理的成像效果;
    • 克服环境光干扰,保证图像的稳定性;
    • 用作测量的工具或参照;

成像设备:相机

机器视觉相机的目的是将通过镜头投影到传感器的图像传送到能够储存、分析和(或者)显示的机器设备上

  • 按照芯片类型可以分为CCD相机、CMOS相机;
  • 按照传感器的结构特性可以分为线阵相机、面阵相机;
  • 按照扫描方式可以分为隔行扫描相机、逐行扫描相机;
  • 按照分辨率大小可以分为普通分辨率相机、高分辨率相机;
  • 按照输出信号方式可以分为模拟相机、数字相机;按照输出色彩可以分为单色(黑白)相机、彩色相机;
  • 按照输出信号速度可以分为普通速度相机、高速相机;
  • 按照响应频率范围可以分为可见光(普通)相机、红外相机、紫外相机等。

处理设备:主机

人工智能主要的处理器分为:CPU、GPU、FPGA、ASIC等。随着这几年人工智能技术的发展,各大厂家都在大力研发人工智能处理器,由于GPU非常适合机器学习算法的计算,目前各大厂商都推出性能强悍的GPU处理器,甚至推出人工智能专用芯片,以适应人工智能计算的高性能要求。

算法软件:视觉处理系统

使用C++或其它语言编写的视觉识别算法及程序,运行在SoC/VxWorks/后端主机上

  • 学习的方式分类:监督式学习、非监督式学习、半监督式学习和强化学习。
  • 算法的功能和形式的类似性分类:回归算法、基于实例的算法、正则化方法、决策树学习、贝叶斯方法、基于核的算法、聚类算法、关联规则学习、人工神经网络、深度学习、降低维度算法、集成算法。
  • 其中,计算机视觉常用的算法有:半监督式学习、人工神经网络、深度学习等。