2013-07-30 11:42:47 hualitlc 阅读数 3981

(本文针对论坛多个人的说法,自己整理了一下,恳请大家批评指教。)

一.区别

1.数字图像处理(Digital Image Processing)

数字图像处理是对已有的图像进行变换、分析、重构,得到的仍是图像。

Digital Image Processing,简称 DIP。输入的是图像,输出的也是图像。Photoshop中对一副图像应用滤镜就是典型的一种图像处理。常见操作有模糊、灰度化、增强对比度等。

图像处理,这个主要针对图像图像的基本处理,如图像检索或则图像识别,压缩,复原等等操作。

2.计算机图形学(Computer Graphics)

计算机图形学是给定关于景象结构、表面反射特性、光源配置及相机模型的信息,生成图像。

图形学讲的是图形,也就是图形的构造方式,是一种从无到有的概念,从数据得到图像。

Computer Graphics,简称 CG 。输入的是对虚拟场景的描述,通常为多边形数组,而每个多边形由三个顶点组成,每个顶点包括三维坐标、贴图坐标、rgb颜色等。输出的是图像,即二维像素数组。

计算机图形学,主要涉及图形成像及游戏类开发,如opengl等,还有就是视频渲染等

3.计算机视觉(Computer Vision)

计算机视觉是给定图像,推断景象特性实现的是从模型到图像的变换,也就是说从图像数据提取信息,包括景象的三维结构,运动检测,识别物体等。

Computer Vision,简称 CV。输入的是图像或图像序列,通常来自相机或usb摄像头。输出的是对于图像序列对应的真实世界的理解,比如检测人脸、识别车牌。

计算机视觉,里面人工智能的东西更多一些,不仅仅是图像处理的知识,还涵盖了人工智能,机器学习等领域知识

4.模式识别(Pattern Recognition

模式识别则是从特征空间到类别空间的变换。研究内容包括特征提取(PCA,LDA,LFA,Kernel,Mean Shift,SIFT,ISOMAP,LLE);特征选择;分类器设计(SVM,AdaBoost)等。

PR(模式识别)本质就是分类,根据常识或样本或二者结合进行分类,可以对图像进行分类,从图像得到数据。


二.联系

计算机图形学是计算机视觉的逆问题,两者从最初相互独立的平行发展到最近的融合是一大趋势。图像模式的分类是计算机视觉中的一个重要问题,模式识别中的许多方法可以应用于计算机视觉中。

Computer Graphics和Computer Vision是同一过程的两个方向。Computer Graphics将抽象的语义信息转化成图像,Computer Vision从图像中提取抽象的语义信息。Image Processing探索的是从一个图像或者一组图像之间的互相转化和关系,与语义信息无关。

CG 中也会用到 DIP,现今的三维游戏为了增加表现力都会叠加全屏的后期特效,原理就是 DIP,只是将计算量放在了显卡端。
CV 更是大量依赖 DIP 来打杂活,比如对需要识别的照片进行预处理。
最后还要提到近年来的热点——增强现实(AR),它既需要 CG,又需要 CV,当然也不会漏掉 DIP。它用 DIP 进行预处理,用 CV 进行跟踪物体的识别与姿态获取,用 CG 进行虚拟三维物体的叠加。

计算机图形学和数字图像处理是比较老的技术。计算机视觉要迟几十年才提出。

计算机图形学和数字图像处理的区别在于图形和图像。
图形是矢量的、纯数字式的。图像常常由来自现实世界的信号产生,有时也包括图形。
而图像和图形都是数据的简单堆积,计算机视觉要从图像中整理出一些信息或统计数据,也就是说要对计算机图像作进一步的分析。

计算机图形学的研究成果可以用于产生数字图像处理所需要的素材,计算机视觉需要以数字图像处理作为基础。计算机视觉与数字图像处理的这种关系类似于物理学和数学的关系。

数字图像处理主要是对已有的图像,比如说可见光的图像、红外图像、雷达成像进行噪声滤除、边缘检测、图像恢复等处理,就像用ps 处理照片一样的。人脸识别啊、指纹识别啊、运动物体跟踪啊,都属于图像处理。去噪有各种滤波算法;其他的有各种时频变化算法,如傅里叶变化,小波变换等,有很多这方面的书籍。
图形学主要研究如何生成图形的,像用autoCAD作图,就是图形学中算法的应用。各种动漫软件中图形算法的生成等。


2017-03-05 11:14:18 a1054513777 阅读数 10698

计算机视觉和模式识别

计算机视觉和图像处理是一个令很多人充满兴趣的计算机领域,它不仅涉及到很多精妙和令人称赞的数学推导和漂亮的代码,更是应用到我们生活的方方面面,简单如Photoshop、美图秀秀,复杂于相机校准、人脸识别、处理视频等。
时隔很久没有写博客了,以前写博客的时候总感觉自己欠缺很多,现在发现在计算机专业读书,每一年都会对自己所学的东西有了新的理解。这次的博客系列就是分享自己在图像处理和计算机视觉方面的理解和体会,希望大家Have fun with image!


1.什么是计算机视觉和图像处理?

Computer vision is an interdisciplinary field that deals with how computers can be made for gaining high-level understanding from digital images or videos. From the perspective of engineering, it seeks to automate tasks that the human visual system can do.
[ 维基百科 ]

简而言之

  • 计算机视觉就是获取图像的高层信息,看起来让计算机和人类视觉系统一样。
  • 图像处理通常是获取图像的低层或者中层信息,对图像进行直接的处理。

这里写图片描述

2.我们使用什么进行图像处理?

C/C++大家都知道是图像处理包括计算机图形学中常用的编程语言,原因呢,想必大家都懂,就是效率高。在复杂的图形图像处理中这一点显得更重要。因此在接下来的系列中我所介绍的图形图像处理都是采用Win10平台下VisualStudio2015 Community版本的VC编译环境这里写图片描述当然大家在理解算法的过程后,可以使用诸如Matlab、Java等其他编程语言来写自己的算法程序。

工欲善其事,必先利其器。如果大家有过图像处理或者图像操作的编程经验都知道,如果没有一些辅助的库文件,那么编写图像处理算法的代码将会有很多冗余繁杂的读取保存图像的代码,这些代码不利于我们对算法的理解和程序的快速编写。因此我们常使用一些辅助的图像处理库,来简化我们的代码编写,比较有名的就是OpenCv但是在这里要为介绍的是另外一个更为简单(配置简单、操作简单)的图像处理库CImg


3.什么是CImg?

简而言之,CImg是一个小的开源的现代C++图像处理库。

当然,个人觉得它相比其他库最重要的特点就是它只是一个.h文件,只需把它下载下来后放到VS安装目录下的Include文件下,编写程序时像正常的头文件一样使用就可以了。

  • 它不需要对库的提前编译
  • 不用处理复杂的依赖关系
  • 编译是按需完成的
  • 类成员和函数都是内联的,在程序执行时有更好的表现

4.配置CImg

正如上面所说,CImg的配置过程相当简单,找到自己的VS安装目录(我的是安装在C盘C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include),将CImg.h放进该文件夹即可

这里写图片描述
这里提供一下(http://cimg.eu/download.shtml)官网的下载地址,其实直接百度谷歌很容易找到官网然后Download,而且官网也有很多第一手的资料可以提供我们学习使用。


5.第一个CImg图像处理程序

这次我们先写出一个Hello CImg的程序,实现图片的读取显示和保存。
代码如下:

/*CImg demo for blog*/
#include<CImg.h>   // Include the library file
using namespace cimg_library;

int main() {
    CImg<unsigned char> image;
    image.load_bmp("demo.bmp");  // load the image
    image.display();   // display the image
    image.save("new.bmp"); // create a new name and save the image
    return 0;
}

运行结果如下:
这里写图片描述

这里写图片描述
一个只有十行左右的程序,便可以轻松完成对图像的简单操作,我们下次见!

2013-11-28 16:46:28 longzaitianya1989 阅读数 6760

学习了计算机视觉方向有段时间了,整理一下一些基本的概念:

计算机视觉,计算机图形学,模式识别,数字图像处理等概念和联系

1.计算机图形学

计算机图形学是给定关于景象结构、表面反射特性、光源配置及相机模型的信息,生成图像实现的是从模型到图像的变换。 

例如使用opengl进行渲染生成三维场景,这前提是我们已经给定了图形绘制,纹理,材质,灯光,摄像机等这些的配置信息,最后得到的是图形图像。

2.模式识别

模式识别则是从特征空间到类别空间的变换。研究内容包括特征提取(PCA,LDA,LFA,Kernel,Mean Shift,SIFT,ISOMAP,LLE);特征选择;分类器设计(SVM,AdaBoost)等。 这其中通过对先验知识的学习,训练分类器,得到特征与类别的映射关系模型,通过这一模型(分类器),将待测样本分开到相应类别中。

3.数字图像处理

数字图像处理,顾名思义,就是对已经数字化的图像进行处理,包括对数字图像的增强(空域和频域),形态学操作,图像分割,图像复原等操作,数字图像处理实在像素级别上对图像进行操作的,不涉及图像的内容。实现的是从图像到图像的变换。人是最终的解释者。

数字图像处理的三个层次:


4.计算机视觉和机器视觉

计算机视觉(Computer Vision, CV)是用计算机来模拟人的视觉机理获取和处理信息的能力。更准确点说,它是利用摄像机和电脑代替人眼使得计算机拥有类似于人类的那种对目标进行分割、分类、识别、跟踪、判别决策的功能。计算机视觉是给定图象,推断景象特性,实现的是从图像模型信息的变换,也就是说从图象数据提取信息,包括景象的三维结构,运动检测,识别物体等。 计算机是图像的最终解释者。机器视觉和计算机视觉有时候可以等同,机器视觉是计算机视觉的工程化。计算机视觉中的基本理论就是Marr理论。






计算机图形学是计算机视觉的逆问题,两者从最初相互独立的平行发展到最近的融合是一大趋势。图像模式的分类是计算机视觉中的一个重要问题,模式识别中的许多方法可以应用于计算机视觉中。

2009-12-31 00:54:00 shi06 阅读数 2293

我从来没有在自己的博客里写过与专业有关的东西,不久前在一位朋友的博客里看到一些,觉得自己也可以尝试写一些,有些地方还是可以与人好好交流一下的!所以浅析一下我对模式识别的初鄙看法!尤其是有学弟学妹想从事图像处理和模式识别的,应该会有些启发吧!

这个学期我们有模式识别这门课,很多同学被其纷繁的数学公式所吓倒!诚然,对于一个高数只考了36分的我来说,也不喜欢那些鬼公式,但是却不影响我学习模式识别!因为那些公式:一,不需要你推导;二,虽然写在那里,你完全可以不看(只要你不怀疑数学家的能力);

可能有人会骂我不求甚解,可是可知道诸葛亮看书都只观其大略,何况在你没有足够的数学修养和对这个学科全局认识之前,埋头于细节.愚以为不智也!

所以首先要看每种方法的思想,专业一点说,它的输入是什么,输出是什么,适用于哪些环境!掌握这个才是首要目的.模式识别的基本方法很多,复杂的如神经网络,事实上,工程上很少使用那么复杂的算法(不是我说的,某位老师说的).而最常用的莫过于统计法和结构法!

统计法很多让人作呕的公式,其实很简单,它只是用很多特征量去描述一个类别,你只要知道有哪些量,他们代表什么,就可以了!实际写程序的时候,有些可以用开源的,有些你就写个函数就OK!细节是很麻烦,但是首先要得学会思考和如何解决问题,等到写程序的时候按公式写就好了,不要在一开始就被公式吓着了!

下午要开工了,先写到这!随便推荐一本很好的书:冈萨雷斯的数字图像处理(第二版),没有很复杂的公式,是图像处理和模式识别最好的入门书(也不是入门级,有另一本入门级叫数字图像处理基础,朱虹写的),在图书馆翻遍了,就这两本好读!随便说一句,前一本的中文版里有错误,那天害我调了一个下午的程序,经过手工推导才发现书中公式有误!当时仰天长叹,看英文原本多好啊!

呵呵!如果对图像处理和模式识别有兴趣,请不吝与我交流!

2015-08-31 16:51:14 snakorse 阅读数 17474
  • 在我的理解里,要实现计算机视觉必须有图像处理的帮助,而图像处理倚仗与模式识别的有效运用,而模式识别是人工智能领域的一个重要分支,人工智能与机器学习密不可分。纵观一切关系,发现计算机视觉的应用服务于机器学习。各个环节缺一不可,相辅相成。

    计算机视觉(computer vision),用计算机来模拟人的视觉机理获取和处理信息的能力。就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,用电脑处理成为更适合人眼观察或传送给仪器检测的图像。计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。计算机视觉的挑战是要为计算机和机器人开发具有与人类水平相当的视觉能力。机器视觉需要图象信号,纹理和颜色建模,几何处理和推理,以及物体建模。一个有能力的视觉系统应该把所有这些处理都紧密地集成在一起。

    图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。

    模式识别(Pattern Recognition)是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。模式识别又常称作模式分类,从处理问题的性质和解决问题的方法等角度,模式识别分为有监督的分类(Supervised Classification)和无监督的分类(Unsupervised Classification)两种。模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物传感器等对象的具体模式进行辨识和分类。模式识别研究主要集中在两方面,一是研究生物体(包括人)是如何感知对象的,属于认识科学的范畴,二是在给定的任务下,如何用计算机实现模式识别的理论和方法。应用计算机对一组事件或过程进行辨识和分类,所识别的事件或过程可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数字形式的信息相区别,称为模式信息。模式识别与统计学、心理学、语言学、计算机科学、生物学、控制论等都有关系。它与人工智能、图像处理的研究有交叉关系。

    机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。机器学习在人工智能的研究中具有十分重要的地位。一个不具有学习能力的智能系统难以称得上是一个真正的智能系统,但是以往的智能系统都普遍缺少学习的能力。随着人工智能的深入发展,这些局限性表现得愈加突出。正是在这种情形下,机器学习逐渐成为人工智能研究的核心之一。它的应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。机器学习的研究是根据生理学、认知科学等对人类学习机理的了解,建立人类学习过程的计算模型或认识模型,发展各种学习理论和学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。这些研究目标相互影响相互促进。

    人类研究计算机的目的,是为了提高社会生产力水平,提高生活质量,把人从单调复杂甚至危险的工作中解救出来。今天的计算机在计算速度上已经远远超过了人,然而在很多方面,特别是在人类智能活动有关的方面例如在视觉功能、听觉功能、嗅觉功能、自然语言理解能力功能等等方面,还不如人。

    这种现状无法满足一些高级应用的要求。例如,我们希望计算机能够及早地发现路上的可疑情况并提醒汽车驾驶员以避免发生事故,我们更希望计算机能帮助我们进行自动驾驶,目前的技术还不足以满足诸如此类高级应用的要求,还需要更多的人工智能研究成果和系统实现的经验。

    什么是人工智能呢?人工智能,是由人类设计并在计算机环境下实现的模拟或再现某些人智能行为的技术。一般认为,人类智能活动可以分为两类:感知行为与思维活动。模拟感知行为的人工智能研究的一些例子包括语音识别、话者识别等与人类的听觉功能有关的“计算机听觉”,物体三维表现的形状知识、距离、速度感知等与人类视觉有关的“计算机视觉”,等等。模拟思维活动的人工智能研究的例子包括符号推理、模糊推理、定理证明等与人类思维有关的“计算机思维”,等等。

    从图像处理和模式识别发展起来的计算机视觉研究对象之一是如何利用二维投影图像恢复三维景物世界。计算机视觉使用的理论方法主要是基于几何、概率和运动学计算与三维重构的视觉计算理论,它的基础包括射影几何学、刚体运动力学、概率论与随机过程、图像处理、人工智能等理论。计算机视觉要达到的基本目的有以下几个:

    (1) 根据一幅或多幅二维投影图像计算出观察点到目标物体的距离;

    (2) 根据一幅或多幅二维投影图像计算出目标物体的运动参数;

    (3) 根据一幅或多幅二维投影图像计算出目标物体的表面物理特性;

    (4) 根据多幅二维投影图像恢复出更大空间区域的投影图像。

    计算机视觉要达到的最终目的是实现利用计算机对于三维景物世界的理解,即实现人的视觉系统的某些功能。

    在计算机视觉领域里,医学图像分析、光学文字识别对模式识别的要求需要提到一定高度。又如模式识别中的预处理和特征抽取环节应用图像处理的技术;图像处理中的图像分析也应用模式识别的技术。在计算机视觉的大多数实际应用当中,计算机被预设为解决特定的任务,然而基于机器学习的方法正日渐普及,一旦机器学习的研究进一步发展,未来“泛用型”的电脑视觉应用或许可以成真。

    人工智能所研究的一个主要问题是:如何让系统具备“计划”和“决策能力”?从而使之完成特定的技术动作(例如:移动一个机器人通过某种特定环境)。这一问题便与计算机视觉问题息息相关。在这里,计算机视觉系统作为一个感知器,为决策提供信息。另外一些研究方向包括模式识别和机器学习(这也隶属于人工智能领域,但与计算机视觉有着重要联系),也由此,计算机视觉时常被看作人工智能与计算机科学的一个分支。

    机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演译。

    为了达到计算机视觉的目的,有两种技术途径可以考虑。第一种是仿生学方法,即从分析人类视觉的过程入手,利用大自然提供给我们的最好参考系——人类视觉系统,建立起视觉过程的计算模型,然后用计算机系统实现之。第二种是工程方法,即脱离人类视觉系统框框的约束,利用一切可行和实用的技术手段实现视觉功能。此方法的一般做法是,将人类视觉系统作为一个黑盒子对待,实现时只关心对于某种输入,视觉系统将给出何种输出。这两种方法理论上都是可以使用的,但面临的困难是,人类视觉系统对应某种输入的输出到底是什么,这是无法直接测得的。而且由于人的智能活动是一个多功能系统综合作用的结果,即使是得到了一个输入输出对,也很难肯定它是仅由当前的输入视觉刺激所产生的响应,而不是一个与历史状态综合作用的结果。

    不难理解,计算机视觉的研究具有双重意义。其一,是为了满足人工智能应用的需要,即用计算机实现人工的视觉系统的需要。这些成果可以安装在计算机和各种机器上,使计算机和机器人能够具有“看”的能力。其二,视觉计算模型的研究结果反过来对于我们进一步认识和研究人类视觉系统本身的机理,甚至人脑的机理,也同样具有相当大的参考意义。

原文链接:http://shijuanfeng.blogbus.com/logs/216968430.html
没有更多推荐了,返回首页