【问题标题】:How to detect Facial Sideview Left ear, Sideview Nose, Sideview mouth in iOS Application using OpenCV?如何使用 OpenCV 在 iOS 应用程序中检测面部侧视图左耳、侧视图鼻子、侧视图嘴?
【发布时间】:2015-11-06 11:08:29
【问题描述】:

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

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

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

OpenCV 是不是很好的选择?您可以共享任何示例代码来实现此功能都会很棒。

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

【问题讨论】:

  • “他们没有检测到左耳”是什么意思?你试过翻转你的图像吗?
  • @Derman 这个哈尔分类器没有检测到左耳。瞧琼斯提到的视频以与我相同的方向检测耳朵。
  • 如果你有训练样本,事情应该很简单。

标签: ios objective-c opencv image-processing


【解决方案1】:

我认为仅使用部分模板(例如,viola 的 haar 分类器)不适用于您的情况。您要检测的部分非常小,大部分时间会被完全/部分遮挡。我的建议是使用基于图形模型的方法,即主动外观模型、图形结构等。这不仅可以让您利用空间约束(即嘴应该始终低于鼻子等),而且在以下情况下也可以使用一个或几个部分被遮挡。也许您可以从以下公开可用的代码开始:

  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 是否能负担得起这样的模型,但在普通计算机上,它们对于正常大小的图像来说足够实时。

【讨论】:

  • OpenCV 与 iOS 兼容,只要您使用的是 Objective-C++。需要一些修补才能做到正确,但绝对有效。
  • 是的,OpenCV 肯定可以在 iOS 上工作,但我的意思是我不确定 Iphone 的处理器是否能够承受这样的模型,并且可以实时运行它们。很抱歉造成混乱。
  • 根据我的测试,OpenCV 可以负担得起这样的模型(尽管您可能必须制作自己的级联数据),并且它可能无法在每一帧上运行。可能需要一些跳过帧以保持流畅的逻辑
  • 2019年来到这里,发现链接失效了.. :(
猜你喜欢
  • 1970-01-01
  • 2017-02-23
  • 1970-01-01
  • 2012-11-24
  • 2018-08-03
  • 1970-01-01
  • 2021-10-24
  • 2021-03-23
  • 1970-01-01
相关资源
最近更新 更多