【问题标题】:How do I detect the exact shape of a human face in Android?如何在 Android 中检测人脸的确切形状?
【发布时间】:2016-08-02 10:58:44
【问题描述】:
我有一个项目来实现类似 Snapchat Lenses 的人脸识别和失真算法。到目前为止,我已经尝试过 Android 的默认人脸检测 API、play-services-vision 人脸检测 API 和 OpenCV/JavaCV,但它们似乎只检测人脸和特征的位置,并不能描述人脸的确切形状。
我是否从这些库中遗漏了什么可以让我进行完整的面部识别来描述面部的确切形状?
附:我应该在超级用户中问这个吗?
【问题讨论】:
标签:
android
face-detection
【解决方案1】:
这是一个问题,数字图像处理领域的解决方案仍在进行中(非常好的解决方案可用,但还没有最好的定义)。
我能想到一个简单的解决方案,可能可行。一旦你有了面部特征(如眼睛、嘴唇等),你就可以检索它周围的皮肤颜色(使用预定义的窗口,考虑眼睛/嘴唇块的大小)。然后,您使用检索到的颜色来提供边界/边缘识别算法。
所有这些都可以通过 OpenCV 轻松完成,但我无法保证该方法的准确性,因为我自己没有尝试过。
另外,Canny 的方法可能对您的应用程序有用。
但我强烈建议您搜索有关此主题的当代论文,因为人脸识别方法越来越好,但它可能会导致非常复杂且效率高昂的替代方案。 p>
查看下面的链接,并搜索任何能够引导一种方法实现您想要的方法的论文:
使用“人脸边框识别”、“边框识别”、“人脸边缘检测”等关键字。很有可能有人已经这样做了,然后您就不必重新发明轮子了!