python绑定到flandmark keypoint本地化库
xbob.flandmark的Python项目详细描述
这个包是一个简单的boost.python包装器,用于(相当快的)开源 面部地标探测器flandmark,1.0.7版 (或截至2013年2月10日的Github状态)。 如果您使用此软件包,作者请您引用以下文章:
@inproceedings{Uricar-Franc-Hlavac-VISAPP-2012, author = {U{\v{r}}i{\v{c}}{\'{a}}{\v{r}}, Michal and Franc, Vojt{\v{e}}ch and Hlav{\'{a}}{\v{c}}, V{\'{a}}clav}, title = {Detector of Facial Landmarks Learned by the Structured Output {SVM}}, year = {2012}, pages = {547-556}, booktitle = {VISAPP '12: Proceedings of the 7th International Conference on Computer Vision Theory and Applications}, editor = {Csurka, Gabriela and Braz, Jos{\'{e}}}, publisher = {SciTePress --- Science and Technology Publications}, address = {Portugal}, volume = {1}, isbn = {978-989-8565-03-7}, book_pages = {747}, month = {February}, day = {24-26}, venue = {Rome, Italy}, keywords = {Facial Landmark Detection, Structured Output Classification, Support Vector Machines, Deformable Part Models}, prestige = {important}, authorship = {50-40-10}, status = {published}, project = {FP7-ICT-247525 HUMAVIPS, PERG04-GA-2008-239455 SEMISOL, Czech Ministry of Education project 1M0567}, www = {http://www.visapp.visigrapp.org}, }
你还应该引用Bob,作为核心 框架:
@inproceedings{Anjos_ACMMM_2012, author = {A. Anjos AND L. El Shafey AND R. Wallace AND M. G\"unther AND C. McCool AND S. Marcel}, title = {Bob: a free signal processing and machine learning toolbox for researchers}, year = {2012}, month = oct, booktitle = {20th ACM Conference on Multimedia Systems (ACMMM), Nara, Japan}, publisher = {ACM Press}, url = {http://publications.idiap.ch/downloads/papers/2012/Anjos_Bob_ACMMM12.pdf}, }
安装
您只需将xbob.flandmark对setup.py的依赖添加到 自动下载并在卫星上提供此软件包 包裹。如果Bob集中安装在您的机器上,那么这很好。
否则,您需要告诉buildout如何在本地构建包 以及如何找到Bob。为此,只需在您的 将获取包并在本地编译它的buildout,设置 buildout变量prefixes安装到Bob的位置(生成目录 也可以)。例如:
[buildout] parts = flandmark <other parts here...> ... prefixes = /Users/andre/work/bob/build/debug ... [flandmark] recipe = xbob.buildout:develop ...
开发
要开发这些绑定,需要安装开源库Bob 在某个地方。至少需要Bob的1.1版。如果你已经编译了bob 你自己把它安装在一个非标准的位置,你需要注意 沿着通向安装根目录的路径。
只需键入:
$ python bootstrap.py $ ./bin/buildout
如果bob安装在非标准位置,请编辑文件buildout.cfg 将根设置为bob的本地安装路径。记住使用相同 用于编译Bob的python解释器,然后执行相同的步骤 如上所述。
用法
很简单,只要做一些像:
import bob from xbob import flandmark video = bob.io.VideoReader('myvideo.avi') localizer = flandmark.Localizer() for frame in video: print localizer(frame)
如果已经检测到边界框,可以将边界框的坐标插入定位器调用:
landmarks = localizer(image, top, left, height, width)
定位器总共返回8landmarks。 有关地标的列表和解释,请看here。
警告
从这个包的1.1版开始,地标以Bob-典型的顺序返回,即(y,x)。 请将您的代码更新为此新行为。