如何使用OpenCV检测iOS应用中的面部侧视左耳,侧视鼻,侧视嘴?

Xei*_*han 14 opencv image-processing objective-c ios

我需要帮助在iOS应用程序中通过图像进行面部轮廓分析.

我试图检测给定图像中的左耳,鼻子和嘴巴.到目前为止,我尝试过OpenCV,我找到了voila的haar分类器,但是这个haar分类器没有检测到左耳.

我需要在不进入服务器/在线的情况下执行此检测.

OpenCV对此有好的选择吗?您可以共享的任何示例代码都可以实现此功能.

有什么其他选择可以实现此功能?

小智 6

我认为只使用零件模板(例如,中提琴的haar-classifiers)在你的情况下不起作用.您要检测的部件非常小,大部分时间都会完全/部分遮挡.我的建议是使用基于图形模型的方法,即主动外观模型,图形结构等.这不仅可以让你利用空间约束(即,嘴巴应该总是在鼻子下方等),但也可以在一个或几个部分被遮挡.您可以从以下公开代码开始:

  1. http://cmp.felk.cvut.cz/~uricamic/flandmark/index.php#structclass
  2. http://www.iai.uni-bonn.de/~gall/projects/facialfeatures/facialfeatures.html

这两个代码都是用C++编写的,并且可以让你检测面部身体部位,但我认为耳朵不包括在内.也许您可以尝试通过稍微修改源代码来添加其他部分,还可以为缺少的部分培训自己的部分模板.

PS.我不是iOS开发人员,因此我不确定iOS是否可以买得起这样的模型,但在普通计算机上,它们足够实时用于正常尺寸的图像.