我被指派寻找在应用程序中创建面部识别功能的最佳方法,该功能将使用机器学习来帮助员工打卡。该功能将支持…
-
每台设备支持多个用户。
-
持续训练(当模型识别出某人时,会将新图像发送到后端,并使用这些新近拍摄的图像来训练模型)
-
更新新类别(当新用户加入并希望使用应用程序时,应用程序会为他们拍照,将这些图像发送到后端的模型训练程序,该程序将训练模型以识别新用户)
- 将更新后的模型发送到同一商店的其他设备,以便它们也能识别员工
我尝试过的方法。
-
我尝试过设备上的训练和Knn。但据我所知,设备上的训练不适用于此,因为设备上的训练模型最多只能有10个类别,而knn的准确性…完全不够
-
使用createML进行手动训练和重新训练。这是我…
- 在我的Mac上用createML训练一个模型
- 通过URLSession将模型下载到应用程序
- 在应用程序中添加新用户或更新旧用户的照片
- 将新用户/更新旧用户的图像发送到我的Mac上的createML
- 使用我拍摄的所有用户的所有图像创建一个全新的模型
- 永远重复步骤2-5
这种方法虽然可行,但成本高昂、耗时长,而且对于应用程序最终将拥有的用户数量来说,重复操作是不可行的。
我对机器学习仍然非常陌生,感觉自己可能走错了方向。我只是想看看是否有人知道更好的、更有效的连续学习方法,以便模型能够记住之前学到的东西,我可以使用createML只添加新类别或图像…或者有人能指出正确的方向。
回答:
看看Turi Create —— 也是来自苹果的:https://github.com/apple/turicreate
它可以完成Create ML所做的一切,但使用的是Python且可编程,因此你可以在后端自动化整个过程。如果你知道如何在CreateML中操作,你会发现Turi Create很容易上手。