面部跟踪和检测

Face tracking and detection

我在 Unity3D 中工作,我想制作一个类似 this 的应用程序。为此,我需要一个漂亮且流畅的 sdk/library/whatever,它使我能够使用所有面部标志(眼睛、鼻子、嘴巴)跟踪面部位置并检测标志位置变化。

到目前为止,我已经尝试了 OpenCV 插件,但它似乎不太准确。例如。当我 运行 演示场景时,它跟踪面部,但面部椭圆大小非常容易且快速地扭曲,以及地标位置,甚至从一开始就扭曲了。

我也试过 XZIMG 插件,但它根本不跟踪地标。 如果我做错了什么,请指正。

我正在寻找可以在 android 和 iOS 设备上提供所需结果的合适工具。我一直在研究 Google Mobile Vision,但到目前为止我不太确定它是否可以轻松地与 Unity 集成并用于 iOS 项目。

图像处理是一门高级课题。在使用之前了解您正在使用的库是如何工作的是很好的。

说到跟踪 速度慢 ,这很正常,因为它 CPU 密集且 运行 在移动设备上是另一个问题。

修复 缓慢的问题,

1。你拍摄一张照片,发送它到服务器(到计算机不是移动设备)。服务器会做all处理return结果返回给移动设备。

2。尝试 Vuforia。它不是免费的,但可以与 Unity 配合使用。

3.Go Native 并放弃使用 Unity。您需要更多帧,使用 Unity 会减少一些帧。对于 Android,使用 C++ NDKOpenCV C++。对于 iOS 使用 Objective-C 和 OpenCV。图像处理是建议使用本机代码以尽可能获得 最高帧率 的实例之一。

您可能想要查看的另一个工具是 Banuba 的 Face Tracking Plugin for Unity。本工具支持人脸的眼睛、嘴巴、笑容、眉毛等部位的人脸追踪。除此之外,它还能够通过面部滤镜、AR 面具、AR 镜片和生活表情符号等不同的 AR 效果增强面部。