如何在iOS中使用Opencv检测嘴唇边缘?

时间:2013-02-04 09:19:43

标签: c++ ios xcode opencv

我是OpenCV的新人,所以请帮帮我。我想用OpenCV检测嘴唇边缘。你能给我一些链接和解决方案吗?    我已经检查了使用OpenCV检测面部和嘴部的正常程序,但准确性不存在。我用“haarcascade_mcs_mouth”来检测图片中的嘴巴,但结果并不是那么好。我听说过 AAM 方法,但无法获得有关它的任何文件。请帮帮我......

1 个答案:

答案 0 :(得分:6)

唇识别是计算机视觉中的一个问题,它尚未完全解决。您一直使用的类似哈希的分类器(包含在OpenCV中)在人脸识别方面表现良好,但对于唇识别,已经开发出更好的技术。您将不得不构建不同的算法并为您的目的选择更好的算法。您正在为iOS开发的事实使得任务更加困难,因为存在额外的约束(内存占用,CPU等)。我简要概述了唇部识别的最新技术,以便您进一步研究:

识别嘴唇的方法可分为三大类:

  • 基于图像的技术:这些都是基于皮肤和嘴唇有不同颜色的假设。论文[2]是应用于手语识别的这种方法的一个例子。 [3]也探讨了颜色聚类。它假设图像中有两个像素类:皮肤和嘴唇。例如,如果此人有胡子或露出牙齿,则此方法不合适。

  • 基于模型的技术:这些方法比以前的方法更强大,因为它们使用有关唇形的先验信息。但是,它们在计算上更昂贵,因此它们可能不适合在移动设备上实现。 AAM(主动外观模型)属于该组,并通过手动注释数据了解嘴唇的形状。在Wikipedia article的“外部链接”部分中,您可以看到一些可以移植到C ++ / OpenCV的开源实现和库。

  • 混合技术:这些方法是基于图像的方法和基于模型的方法的组合。通常,首先将基于颜色的技术应用于图像以估计唇部区域的位置和大小;然后,将基于模型的技术(如AAM)应用于感兴趣的区域以提取唇部轮廓。 [4]是这种技术的一个例子。

[2] U. Canzler和T. Dziurzyk,“用于基于视频的手语识别的非手动特征的提取”。 ;在MVA的会议录中。 2002年,318-321

<3> [3] Leung,Shu-Hung,王世林,刘永红。 “使用包含椭圆形函数的模糊聚类的唇图像分割。” Image Processing,IEEE Transactions on 13.1(2004):51-62。

[4] Bouvier,Christian,P-Y。 Coulon和Xavier Maldague。 “基于ROI优化和参数模型的无监督嘴唇分割。” Image Processing,2007。ICIP 2007. IEEE国际会议。卷。 4. IEEE,2007。

相关问题