论文《Extended Supervised Descent Method for Robust Face Alignment》对SDM方法做了扩展,使程序更鲁棒。
Some improvements about SDM for face alignment (二)
训练阶段我们采用了分批处理,可以优化部分内存。
原先我们的代码使用一次性载入数据,然后开始若干次迭代,直至收敛。这样保存image与shape的数据矩阵Data就一直占用内存,但实际上,数据集的image与shape 的作用仅仅是计算$\Delta X$和$\Phi$,两变量的定义参考《 Supervised Descent Method and its Applications to Face Alignment》,其实也就是init shape与true shape的差值以及init shape的特征向量。计算完了,Data就没用了。于是我们设想分批处理,每次迭代载入一次数据,用完了就clear。这样就需要载入多次,可能时间上会浪费的比较多,但还好,可以承受。而且每次载入数据的时候,也使用分批处理,一次只载入10幅图片的Image/shape,算完了就clear。
Some improvements about SDM for face alignment (一)
本篇我们阐述对Github上给出的SDM程序,我们做的一些Bug修正。关于SDM for face alignment,请参考:
《 Supervised Descent Method and its Applications to Face Alignment》
Matlab Implementation (version 2.0)of Supervised Descent Method
我们下载了Github上的代码,并仔细阅读了其中的细节。最后我们对源代码做了一些修正(新代码已上传到Github),主要包括:
- 修复了代码运行中出现的一些bug
- 添加了一些函数,使代码更简洁
- 训练阶段我们采用了分批处理,优化了内存
- 参考论文《Extended Supervised Descent Method for Robust Face Alignment》,优化了源程序
- 在测试阶段,我们使用了逆的缩放和平移变换将得到的aligned_shape
转换为原始图片的特征点true_shape- 添加了详细的注释,使之更容易明白。
奇异值分解(SVD)介绍
本文是笔者在阅读众多资料,包括网上资料、教科书的基础上,编写而成。
其基本写作框架是:
1.从数学的角度,对奇异值分解做更加准确的描述,包括定义和性质;
2.matlab的奇异值分解函数简介;
Mexopencv的使用
下面我们将介绍Mexopencv的使用。
首先介绍几个常用的帮助链接:
- MATLAB File Help: cv :这里列出了cv里的全部函数
- OpenCV 2.3.2 documentation :这里可以搜索到opencv的函数
- mexopencv Github主页
- mexopencv主页
- mex interface for opencv library
VS2010和Matlab混合编程 ---调试Mex文件
首先说明我的软件配置:
Computer: Windows7 SP1 64位
VS2010:旗舰版 SP1
Matlab:R2012a ,64位
下面我们将具体讲述调试Mex文件的全过程。(有图有真相哟! )
Win7 64bit下MexOpenCV的安装,Matlab和C++&OpenCV的完美结合
首先说明一下我的安装环境:
操作系统:Win7 64位 SP1
Matlab: 2012a 64位& 2013a 64位(两个版本均试验过)
Visual Studio:2010 sp1旗舰版
下面介绍具体的安装方法:
多说自定义CSS动感头像和多说评论显示User Agent
本文不对以上话题做具体的阐述,因为文章《多说自定义CSS动感头像和多说评论显示User Agent的那些小事》讲的够详细了,我就是按着上面的步骤逐步添加的,感谢博主的详细讲解。