我需要开发一个移动应用程序(主要用于Android,iOS和Windows Mobile)进行人脸检测。显然,OpenCV是最知名的。但是,我不确定不同操作系统之间的兼容性。 Besies OpenCV,还有其他选择吗? 2个关键要求:
- 打开源/商业库,但必须在没有互联网连接的设备中本地/本地运行,因此播放器服务API不起作用
- 能够跟踪运动中的多个面
任何人都可以分享他们在这方面的经验/知识吗?任何指针都非常感谢!
答案 0 :(得分:2)
你真的在推动利润率。
人脸检测一般由三个不同的区域组成。 1)将脸部识别为脸部(有嘴,鼻子,眼睛)这对于聚焦快照很有用 2)识别面部特征,寻找情绪(微笑的嘴)或眼睛跟踪 3)面部识别。使用系统通过将名称附加到面部来执行识别。
您希望使用面部识别工具来执行跟踪,并使用移动电话统计进入特定地点的人数。
首次跟踪非常困难。在单帧快照中执行简单的面部识别是一回事。这很简单。问题是,您可能会发现您的帧速率太差,以至于您每三秒甚至每五秒钟只能容纳一帧。这将使得追踪和计算面孔几乎不可能。计算面部很容易,但是确定屏幕中的面部先前是否已被计数或是否是新人进入屏幕是很困难的。
OpenCV有很多工具和示例用于面部识别,图像跟踪等。我强烈建议玩OpenCV并测试其功能。我推荐C / C ++版本(除非你已经是Python程序员)Here's a place to start, a blog entry我几个月前写过。
我非常喜欢Kyle Hounslow的教程...在youtube上看他。他的视频经过深思熟虑,很有趣,他为所有作品提供了示例代码。继续观看所有这些视频,并重复所有这些示例。使用笔记本电脑了解帧速率。
您的任务的下一部分是将内容从OpenCV移植到Android / iOS。这不是一件容易的事。我确定人们已经尝试过了,我确信有很多有用的提示。
我并不是要劝阻你进行一项非常棒的调查,但要注意你想要做的事情是非常困难的。您将不得不投入一些时间来确定所有困难区域的位置。不幸的是,在你构建一些东西并尝试之前,你不会知道有效的帧速率和性能 祝你旅途愉快。