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

时间:2015-08-13 12:59:19

标签: ios objective-c opencv image-processing

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

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

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

OpenCV对此有好的选择吗?您可以共享的任何示例代码都很棒。

实现此功能还有哪些其他选择?

1 个答案:

答案 0 :(得分: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
  3. 这两个代码都是用C ++编写的,可以让你检测面部身体部位,但我认为两者都不包括耳朵。也许您可以尝试通过稍微修改源代码来添加其他部分,还可以为缺少的部分培训自己的部分模板。

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