转 VOSM:国人写的ASM/AAM人脸拟合库
轉(zhuǎn)自:http://www.cs.dartmouth.edu/~xy/blog/vosm-library/
?
上次說了開源人臉識(shí)別庫FaceL,這次說說VOSM,一個(gè)開源的人臉擬合庫,它的全稱是Vision Open Statistical Models,主要實(shí)現(xiàn)了ASM(Active Shape Model)和AAM(Active Appearance Model)的經(jīng)典算法及其幾個(gè)變種,包括CMU Simon Baker和Iain Matthews的算法。雖然ASM和AAM是很早的算法,但是一直都沒有一個(gè)靠譜好用的開源實(shí)現(xiàn),OpenCV應(yīng)該包含這個(gè)算法才對(duì)。偶然發(fā)現(xiàn)VOSM這個(gè)庫,我覺得它是目前為止一個(gè)很好的的ASM/AAM實(shí)現(xiàn)。而且這個(gè)庫是一位叫JIA?Pei的中國(guó)人寫的,他目前在著名的計(jì)算機(jī)視覺公司Point Grey供職。VOSM避免了我等投機(jī)取巧的人重新造輪子,“拿來主義”是王道!當(dāng)然想要好好研究ASM的人讀讀他的代碼也非常有益的,幫助理解算法,而且實(shí)現(xiàn)的時(shí)候應(yīng)該會(huì)有很多trick。
VOSM由C++實(shí)現(xiàn),核心算法借助OpenCV,IO操作模塊用了Boost。在線文檔很規(guī)整,是由Doxygen自動(dòng)生成的。看代碼作者的C++用的相當(dāng)嫻熟,STL模板多態(tài)再加上Boost一樣不拉,讓我這種把C++當(dāng)C用的人來說看的相當(dāng)羨慕啊。
VOSM需要OpenCV和Boost的支持,作者提供了Windows下Visual Studio的方案,在Ubuntu下編譯也很簡(jiǎn)單,CMake生成的Makefile直接就編譯通過了。在Mac下需要折騰一下,主要是庫和頭文件的路徑問題。在iPhone下面跑就更折騰了,Boost和OpenCV都要編譯成靜態(tài)庫,然后需要給CMake提供一個(gè)x86下給ARM交叉編譯環(huán)境的Toolchain,還有部分代碼也需要改,例如圖片讀取存儲(chǔ)就不能直接用OpenCV的。因?yàn)锽oost僅是處理文件IO,如果作者能不依賴這個(gè)庫的話,VOSM會(huì)有更好的夸平臺(tái)編譯性能。
VOSM提供了training和fitting兩個(gè)模塊,作者的網(wǎng)站上提供了在各種人臉標(biāo)注數(shù)據(jù)庫上訓(xùn)練好的數(shù)據(jù),很方便可以直接實(shí)用。不過數(shù)據(jù)有點(diǎn)大,都是ASCII存的浮點(diǎn)數(shù)據(jù),200~400M,如果用binary估計(jì)要小很多,在iPhone上運(yùn)行要load三四分鐘,內(nèi)存占用也比較大,已經(jīng)到了iPhone程序運(yùn)行的上限了,可能作者沒有考慮到優(yōu)化把各種算法的所有的數(shù)據(jù)都一次性load進(jìn)內(nèi)存了。效果可以看下面的視頻。運(yùn)行速度的話,在Intel E6600的CPU 60個(gè)跟蹤點(diǎn)一幀需要~200ms,在iPhone4上需要~5s,點(diǎn)數(shù)少會(huì)更快一些。效果的話,我用的是現(xiàn)成的通用數(shù)據(jù)庫,ASM/AAM實(shí)用person specific的數(shù)據(jù)效果會(huì)更好。
轉(zhuǎn)載于:https://www.cnblogs.com/hanyihan/archive/2013/03/01/2938169.html
總結(jié)
以上是生活随笔為你收集整理的转 VOSM:国人写的ASM/AAM人脸拟合库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]URLRewrite隐藏.aspx
- 下一篇: TCP拥塞控制算法 — CUBIC的补丁