我是 OpenCV 的新手,所以请帮帮我。我想使用 OpenCV检测嘴唇边缘。那么你能给我一些链接和解决方案吗?我已经检查了使用 OpenCV 检测面部和嘴巴的正常程序,但准确性不存在。我已经使用“haarcascade_mcs_mouth”来检测图片中的嘴巴,但结果不是很好。我听说过AAM方法,但无法获得任何有关它的文件。请帮我...
1 回答
嘴唇识别是计算机视觉中的一个问题,尚未完全解决。您一直在使用的类似 haar 的分类器(包含在 OpenCV 中)在人脸识别方面表现良好,但对于嘴唇识别,已经开发了更好的技术。您将不得不构建不同的算法并为您的目的选择更好的算法。由于额外的限制(内存占用、CPU 等),您正在为 iOS 开发这一事实使任务变得更加困难。我为您简要概述了唇形识别的最新技术,以便您可以进一步研究:
识别嘴唇的方法可以分为三大类:
基于图像的技术:这些技术基于皮肤和嘴唇具有不同颜色的假设。论文[2]是这种方法应用于手语识别的一个例子。[3] 也探索了颜色聚类。它假设图像中有两个像素类:皮肤和嘴唇。例如,如果该人有胡须或正在露出牙齿,则此方法不合适。
基于模型的技术:这些方法比以前的方法更稳健,因为它们使用有关唇形的先验信息。但是,它们的计算成本更高,因此它们可能不适合在移动设备上实现。AAM(Active Appearance Models)属于这一组,它从人工标注的数据中学习嘴唇的形状。在维基百科文章的“外部链接”部分,您可以看到一些可以移植到 C++/OpenCV 的开源实现和库。
混合技术:这些方法是基于图像的方法和基于模型的方法的组合。通常,首先将基于颜色的技术应用于图像,以估计唇部区域的位置和大小;然后,将基于模型的技术(如 AAM)应用于感兴趣区域以提取唇部轮廓。[4] 是这种技术的一个例子。
[2] U. Canzler 和 T. Dziurzyk,“基于视频的手语识别的非手动特征提取”。;在 MVA 诉讼中。2002, 318-321
[3] Leung、Shu-Hung、Shi-Lin Wang 和 Wing-Hong Lau。“使用包含椭圆形状函数的模糊聚类进行唇部图像分割。” 图像处理,IEEE Transactions on 13.1 (2004):51-62。
[4] 布维尔,克里斯蒂安,PY。库伦和泽维尔马尔达格。“基于 ROI 优化和参数模型的无监督嘴唇分割。” 图像处理,2007。ICIP 2007。IEEE 国际会议。卷。4. IEEE,2007。