您的位置:首页 > 理论基础

对计算机视觉和图像处理框架的理解

2014-10-31 15:16 423 查看
一直觉得,‘综述’总是最难写的,一篇好的‘survey’需要花大力气才能写好,既是对自己负责,也是对他人负责。因此我避开‘综述’这个词,‘综述’难写,写不好,不好写,本文不写综述,就干两件事:1、总结一下我认识到的整个体系;2、为以后的工作做铺垫。

一、计算机视觉和图像处理概述

图像处理即传感器将图像信号转换为数字信号,再利用计算机对其进行加工处理的过程。其涉及到的方法主要有图像变换、图像编码、图像去噪、图像增强、图像恢复、图像分割、特征提取、图像识别等。

计算机视觉是一门研究如何让机器(计算机)像人一样看并理解周围世界的学科,其基本理论和研究方法,旨在从图像或者其他数据中获得‘信息’。

从‘直观’的角度看,我们可以说计算机视觉处理视频,图像处理处理图像,而视频由图像构成,当然这个说法只能用作理解,不够严谨。二者更‘科学’的区别是计算机视觉重点研究映射到单幅图像或者多幅图像上的三维场景,如三维重建就是计算机视觉研究的内容;图像处理主要研究一个二维的数字图像,主要针对的是像素级的操作,例如提高对比度、边缘提取、几何变换等。

计算机视觉和图像处理有很大的交叉,之前我也会把机器学习和模式识别也加入到交叉部分,现在我倒觉得,把这两门学科总结为像数学和英语那样为CV服务更合适。

二、计算机视觉基本处理流程

一个信息处理系统,总对应着一个或多个Input和Output,计算机视觉系统也不例外,输入为从三维世界中采集到的数据,输出为系统对信息的理解。无外乎就以下几个部分:

1、数据采集;(输入)

2、预处理;

3、特征提取;

4、检测/跟踪/分割;

5、高级操作(分类、识别等)(输出)



以交通视频监控为例,整个系统的输入是从摄像头采集到的监控数据,输出为车流量、车辆类型、是否违章等理解信息,中间的过程涉及到预处理(去噪、增强等),车辆(异物)检测/跟踪/分割,对分割图像进行理解,最后输出理解结果即可(上述提到的车流量信息、类型、是否违章等信息)。

这里插播一条小结,工作中有同事(非图像)对图像识别、检测理解有偏颇,而上述计算机视觉中也有一个识别过程,这里把这三者的区别小结一下:

目标检测:首先我们已经知道目标是什么,然后去图像中定位它的位置。(人脸检测、行人检测、车辆检测等)

图像识别:简单的说,是图像再认,从成千上万张图像中找到'认识'的那一张,犹如我们在大街上遇到一个一个人,然后就会去搜索我们见过的所有人,‘哦!我见过他’,如果再加上‘哦!我见他趟在天安门的水晶棺里!’,那么就等于识别系统识别到了一个图像的id和路径,这就是图像识别的过程,(对于一个从来没有出现过的目标,计算机是无法进行再认的,人也不行)。其处理过程主要包括:图像输入、预处理、特征提取、特征分类、匹配。

计算机视觉中的识别:是计算机视觉系统处理的高级过程,从‘再认’的角度上讲,它们是一样的,然而出发点和‘识别’过程是不同的两个方面,计算机视觉中的识别重点在某一个领域内,比如行人行为识别(拥抱、指路、打架、偷车等),那么这个系统我们研究的就是人,车辆行为识别(是否酒驾、是否超速等),那就是一个交通监控系统,我们需要定义一个‘行为’:什么是拥抱(偷车)或者什么是酒驾;而图像识别旨在从某一个库中去‘匹配’一个相同或者相似的图像(当然匹配的是特征)。

三、基本图像处理与分析

基于计算机视觉系统的整条主线,总结一下现有的一些理论和方法。

图像采集:(摄像机标定和矫正)预处理:(去噪、增强、金字塔等)

特征提取:(BRIEF、颜色和直方图特征、FAST特征、Harris特征、HOG、SIFT、SURF等)

检测:(背景建模、特征+分类器(SVM、Adaboost、Random forest)、显著性监测等)

跟踪:(Mean-shift、TLD、粒子滤波、卡尔曼)

高级操作:(BOW)

上述主要介绍了整个系统中常用到的一些方法和理论,当然计算机视觉和图像处理的内容远不止这些,下面列一些主要的领域,然后再补充一点模式识别的内容:

人脸检测、人脸识别、目标检测和跟踪、OCR、阴影检测、场景理解、SLAM、视频监控等。

四、以我为主、为我所用

最后主要总结一下能够为计算机视觉使用的一些理论和方法。

机器学习:用摄像机模拟人眼,cpu模拟人脑,对于‘白痴’cpu,告诉它学习的方法也就显得自然了。

模式识别:理论极强的一门学科,和ML、CV相辅相成,基于神经网络的DL大红大紫

Boosting、clustering、CS(Compressive Sensing)、DT(Decision Trees)、DP(Dynamical Programimg)、EM、GM(Graphical Model)、HMM、ICA、PCA、RF(random forest)、RANSAC、SVD(Singular Value Decomposition)、稀疏表示、SVM、小波、NN

英语:

数学:一切美好的基石,数学分析、概率、统计、矩阵、最优化等

计算机基础理论和方法:可能像组成原理、体系结构、操作系统、编译原理对算法研究帮助不大,不过数据结构和基本算法的作用却是相当大的,如果是做工程,前面的基础知识就显得很重要了。

产品:为什么提到产品,因为工业不等于研究,要想自己喜欢的学科真正能够服务于大众,理论和实际必须要结合起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: