转 VOSM:国人写的ASM/AAM人脸拟合库
轉自:http://www.cs.dartmouth.edu/~xy/blog/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的數據效果會更好。
轉載于:https://www.cnblogs.com/hanyihan/archive/2013/03/01/2938169.html
總結
以上是生活随笔為你收集整理的转 VOSM:国人写的ASM/AAM人脸拟合库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]URLRewrite隐藏.aspx
- 下一篇: 全球与中国人脸语音生物识别市场”十四“五