VOSM:国人写的ASM/AAM人脸拟合库


http://www.cvchina.info/2011/05/21/vosm-library/

上次说了开源人脸识别库FaceL,这次说说VOSM,一个开源的人脸拟合库,它的全称是Vision Open Statistical Models,主要实现了ASM(Active Shape Model)AAM(Active Appearance Model)的经典算法及其几个变种,包括CMU Simon Baker和Iain Matthews的算法。虽然ASM和AAM是很早的算法,但是一直都没有一个靠谱好用的开源实现,OpenCV应该包含这个算法才对。偶然发现VOSM这个库,我觉得它是目前为止一个很好的的ASM/AAM实现。而且这个库是一位叫JIA Pei的中国人写的,他目前在著名的计算机视觉公司Point Grey供职。VOSM避免了我等投机取巧的人重新造轮子,“拿来主义”是王道!当然想要好好研究ASM的人读读他的代码也非常有益的,帮助理解算法,而且实现的时候应该会有很多trick。

VOSM由C++实现,核心算法借助OpenCV,IO操作模块用了Boost。在线文档很规整,是由Doxygen自动生成的。看代码作者的C++用的相当娴熟,STL模板多态再加上Boost一样不拉,让我这种把C++当C用的人来说看的相当羡慕啊。

VOSM需要OpenCV和Boost的支持,作者提供了Windows下Visual Studio的方案,在Ubuntu下编译也很简单,CMake生成的Makefile直接就编译通过了。在Mac下需要折腾一下,主要是库和头文件的路径问题。在iPhone下面跑就更折腾了,Boost和OpenCV都要编译成静态库,然后需要给CMake提供一个x86下给ARM交叉编译环境的Toolchain,还有部分代码也需要改,例如图片读取存储就不能直接用OpenCV的。因为Boost仅是处理文件IO,如果作者能不依赖这个库的话,VOSM会有更好的夸平台编译性能。

VOSM提供了training和fitting两个模块,作者的网站上提供了在各种人脸标注数据库上训练好的数据,很方便可以直接实用。不过数据有点大,都是ASCII存的浮点数据,200~400M,如果用binary估计要小很多,在iPhone上运行要load三四分钟,内存占用也比较大,已经到了iPhone程序运行的上限了,可能作者没有考虑到优化把各种算法的所有的数据都一次性load进内存了。效果可以看下面的视频。运行速度的话,在Intel E6600的CPU 60个跟踪点一帧需要~200ms,在iPhone4上需要~5s,点数少会更快一些。效果的话,我用的是现成的通用数据库,ASM/AAM实用person specific的数据效果会更好。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值