PCA实训报告

春季学期的实训报告,也是最后一次实训课了。

把报告发上来,算是对这一学年学习降维算法的总结。

PCA代码哪天有空再弄上来,流程图的图片也下次再弄吧


更正:报告里关于LGBP的地方数据都有误,应该是40*56*50=132160

懒得一个个改了,以后有空再改吧


1       实训内容

    本学期的实训课程的主要任务为用PCA对人脸图片进行分级降维。总体流程如图1所示,首先将待降维的人脸图像经过LGBP,每张图片获得一个13万维的向量。确定分级降维的层次后,多次调用PCA算法处理数据,最后得到降维后的低维矩阵,也就是特征提取的过程。这次的任务与前两个学期是相通的,难度和复杂程度略有增加。之前一直是在学习降维算法,这次是在应用之前学过的内容,真正实现对人脸图片的操作。

由于我之前主要负责KLDA算法,因此这学期我又重新学习了PCA算法,并且将其在C++中实现了,其中求特征值特征向量的部分原本计划调用OpenCV中的函数,但由于配置问题还没有调用成功。最后特征值和特征向量使用了网络上一段代码求得。时间原因,这学期的任务我只完成了PCA的部分,分层降维的代码还没有完善。

这一学期的课程形式依旧与前两个学期类似,每周固定时间与导师见面讨论问题,小组成员互相交流,共同完成任务。在每周与导师的见面交流中,很多问题和疑惑得到了解决,包括对算法的理解和编程上问题。导师提出代码要多写多练,在编程初期遇到些小错误,很长时间发现不了都是正常的,不要因为出错就停止编程。

1.1  软件配置

这次的PCA算法中需要对协方差矩阵求特征值和特征向量,因此导师建议我们直接调用OpenCV中现有的函数。OpenCV的全称是Open Source Computer VisionLibrary,是一个免费的跨平台的计算机视觉库,可用于开发实时的图像处理、计算机视觉以及模式识别程序[1]。配合OpenCV使用的还有Visual Studio2010,VS是一个强大的开发工具集,包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等[2]

在配置vs和OpenCV时,研究生学长给了我们很大的帮助。在这一过程中,我了解了使用库函数最重要的一点就是路径,必须告诉编译器在哪里寻找头文件。


之前配置失败是因为执着于用以下代码调用cv.h:

1 #incl
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值