因特尔在1999年发起,2000年贡献出来,网址:opencv.org
现在维护的组织:willow garage,并开发了ROS机器人操作系统、beam远程协助机器人
除了opencv以外,还有一些图像开源软件处理系统:
OpenMV(基于stm32f4)、BoofCV9(主要用Java写的)、SimpleCV(视觉框架,为用户提供一个跟好的编程接口)、SOD(主要用在嵌入式,代码是开源的,训练好的模型是收费的)、Dlib、Halcon等。
dlib是一种现代化的C++工具箱,其中包含由于C++中创建复杂软件以及解决实际问题的机器学习算法和工具。引入ResNet残差神经网络。
计算N维数据关系
均值、方差、标准差、协方差等
协方差:
针对一维样本集合时,求出的协方差其实就是方差,即方差是协方差的一种特殊情况,意义和方差一样,都是反应集合中个元素散度的。
针对二维样本集合时,求出的协方差反映的就是两维度之间的相关性,正相关性、负相关性,或无关。
针对三维样本集合时,求出的是各个维度总体的相关性,针对各维度之间的关系,所以二位以上计算协方差,用的就是协方差矩阵。
PCA是一种常用的数据分析方法。常用于高维数据的降为处理。
特点:主成分不变、细微损失、高维数据到低维数据
基本流程:
样本数据-》减去均值-》计算协方差矩阵-》计算特征值与特征向量-》根据特征值排序保留前K个主成分特征向量-》形成新的数据样本-》结束
人脸识别流程:
图像采集,静态,视频文件、摄像头、流媒体
eg:imread()采集图像
图像预处理,简化图像、缩放、灰度化、二值化、滤波
eg:equalizeHlist()二值化
级联分类器:将单个分类器串联
特征提取,HARR,HOG,LBP......
匹配识别,分类对比
人脸识别算法:
EigenFace,基于PCA实现的
FisherFace:基于LDA实现,
这两个相同点,都利用特征值排序找打主成分的过程,不同的事PCA采用协方差矩阵特征值,而LDA更为复杂的矩阵的特征值。
LBPH,二值特征描述,效率更高,光照不敏感