我想要开发一个能够进行凝视追踪的安卓应用程序,我想问一下应该使用以下哪种工具才能得到更好的结果: Google Cloud Vision API(谷歌云视觉 API) OpenCV(如 HaarCascade 分类器) Firebase ML kit(带面部标记)
我不知道您是打算创建商业应用还是用于研究目的,这两种情况需要考虑的事情有所不同。对于对象跟踪,我建议使用 Google 的 ML Kit。它有一些现成的模型,也支持离线使用,并且可以简化所有艰难的工作,即使在 iOS 上使用自定义模型也是如此。因此,您的重点将是创建高效的模型,而不是运行模型。我尚未使用过 Google Cloud Vision API,但 GCP 机器非常适合训练神经网络。OpenCV 是一个很好的选择,但实施和维护可能会很困难,同时您的应用程序大小也会显著增加。我在两年前的毕业论文中使用了 HaarCascade,工作很辛苦,结果并不太准确。今天,我会检查 OpenCV 的 DNN 模块,并像这里一样使用 Yolo。总之,如果您有特定的图像处理需求,我会建议您首先检查 Android 的 ColorFilter 或 ImageFilterView。如果您选择使用 OpenCV,则建议您像这里所述的方式使用 cmake 编译,只编译您需要使用的模块,这样您的应用程序大小就不会增加太多。还有一些其他选择,如 Dlib 或 PyTorch。去年我使用了带有自定义模型的 dlib SVM,结果很好,但运行速度较慢,约为 3~4 秒,而使用 tensorflow 的 NN 运行速度为 50~60 毫秒(使用量化模型甚至更快)。我没有使用 PyTorch 或其他框架的经验可与您分享。