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

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


一、概述

图像处理即传感器将图像信号转换为数字信号,再利用计算机对其进行加工处理的过程。其涉及到的方法主要有图像变换、图像编码、图像去噪、图像增强、图像恢复、图像分割、特征提取、图像识别等。
计算机视觉是一门研究如何让机器(计算机)像人一样看并理解周围世界的学科,其基本理论和研究方法,旨在从图像或者其他数据中获得相关信息。
从直观的角度看,我们可以说计算机视觉处理视频,图像处理处理图像,而视频由图像构成,当然这个说法只能用作理解,不够严谨。二者更科学的区别是计算机视觉重点研究映射到单幅图像或者多幅图像上的三维场景,如三维重建就是计算机视觉研究的内容;图像处理主要研究一个二维的数字图像,主要针对的是像素级的操作,例如提高对比度、边缘提取、几何变换等。
计算机视觉和图像处理有很大的交叉,之前我也会把机器学习和模式识别也加入到交叉部分,现在我倒觉得,把这两门学科总结为像数学和英语那样为基础服务更合适。

二、计算机视觉基本流程

一个信息处理系统,总对应着一个或多个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
英语:谁让我们落后于人家呢,师夷长技以制夷
数学:一切美好的基石,数学分析、概率、统计、矩阵、最优化等
计算机基础理论和方法:可能像组成原理、体系结构、操作系统、编译原理对算法研究帮助不大,不过数据结构和基本算法的作用却是相当大的,如果是做工程,前面的基础知识就显得很重要了。
产品:为什么提到产品,因为工业不等于研究,要想自己喜欢的学科真正能够服务于大众,理论和实际必须要结合起来。

已标记关键词 清除标记
手把手讲授如何搭建成功OpenVINO框架,并且使用预训练模型快速开发超分辨率、道路分割、汽车识别、人脸识别、人体姿态和行人车辆分析。得益于OpenVINO框架的强大能力,这些例子都能够基于CPU达到实时帧率。 课程的亮点在于在调通Demo的基础上更进一步:一是在讲Demo的时候,对相关领域问题进行分析(比如介绍什么是超分辨率,有什么作用)、预训练模型的来龙去脉(来自那篇论文,用什么训练的)、如何去查看不同模型的输入输出参数、如何编写对应的接口参数进行详细讲解;二是基本上对所有的代码进行重构,也就是能够让例子独立出来,并且给出了带有较详细注释的代码;三是注重实际运用,将Demo进一步和实时视频处理框架融合,形成能够独立运行的程序,方便模型落地部署;四是重难点突出、注重总结归纳,对OpenVINO基本框架,特别是能够提高视频处理速度的异步机制和能够直接部署解决实际问题的骨骼模型着重讲解,帮助学习理解;五是整个课程准备精细,每一课都避免千篇一律,前一课有对后一课的预告,后一课有对前一课的难点回顾,避免学习过程中出现突兀;六是在适当的时候拓展衍生,不仅讲OpenVINO解决图像处理问题,而且还补充图像处理的软硬选择、如何在手机上开发图像处理程序等内容,帮助拓展视野,增强对行业现状的了解。 基本提纲: 1、课程综述、环境配置 2、OpenVINO范例-超分辨率(super_resolution_demo) 3、OpenVINO范例-道路分割(segmentation_demo) 4、OpenVINO范例-汽车识别(security_barrier_camera_demo) 5、OpenVINO范例-人脸识别(interactive_face_detection_demo) 6、OpenVINO范例-人体姿态分析(human_pose_estimation_demo) 7、OpenVINO范例-行人车辆分析(pedestrian_tracker_demo) 8、NCS和GOMFCTEMPLATE 9、课程小结,资源分享
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页