我正在开发一个应用程序,它需要使用放置在桌面高度的网络摄像头(稍微偏离用户侧面)来检测视频流中人脸的位置。
我已经实现了OpenCV的版本(使用他们的Haar检测)并且它可以正常运行...问题是如果用户将头转向的话,它往往会失去面部的位置一边(或抬头)。
由于网络摄像头正坐在桌面上,因此它以30度角倾斜。 OpenCV检测算法使用完全正面图像进行训练,但不使用像我正在使用的那些直角图像。我知道OpenCV也有一个可以使用的配置文件Haar文件..但是根据我的研究,结果在配置文件检测上看起来很混杂。另外,我实际上无法控制图像的背景或光照......所以这有时也会影响OpenCV检测算法的功效。
所以,我想我要问的是......是否有其他人脸检测算法(希望免费,因为这是我大学研究的一部分),这对于检测此类设置的面部更好?看起来有些内置的网络摄像头(适用于Mac和PC)实际上具有相当强大的检测面部算法(然后在脸上覆盖俗气的卡通图像)......但它们似乎无论背景还是照明都能很好地工作。你有什么建议? 感谢。
答案 0 :(得分:1)
出于研究目的,您可以在OpenCV中使用Haar级联,如果您想要商业化,则情况会有所不同(在这种情况下,您需要考虑使用LBP级联)。请务必在参考文献中引用Viola-Jones论文。
为了改善面部检测的结果,您有几条路径:
任何这些跟踪过滤器都会在处理视频流时增强您的结果。
答案 1 :(得分:0)
使用CLM-framework进行准确的实时人脸检测并进行地标检测。 实际系统示例:http://youtu.be/V7rV0uy7heQ
您可能会发现它很有用。