我需要使用iPhone摄像头识别特定的图像。我的目标是拥有一组20张图片,当其中一张照片的打印或其他显示出现在相机前时,应用程序就能识别出这张图片。
我考虑过使用分类器(CoreML),但我认为它不会给出预期的结果。例如,如果我有一个识别水果的模型,然后我向它展示了两张不同的香蕉图片,它会将它们都识别为香蕉,这不是我想要的。我希望我的应用程序能够识别特定的图像,而不管其内容如何。
我想要的行为正是ARToolKit所做的(https://www.artoolkit.org/documentation/doku.php?id=3_Marker_Training:marker_nft_training),但是我不希望使用这个库。
所以我的问题是:是否有其他库或其他方法,让我识别iOS (最好是Swift)上相机中的特定图像。
发布于 2018-01-22 23:46:56
回答我自己的问题。
最后,我学习了这个使用OpenCV识别特定图像的awesome tutorial,并教会了如何制作包装器,以便Swift可以访问此代码。
发布于 2017-12-29 02:07:22
由于您使用的是特定于您的用例的图像,因此不会有您可以使用的现有模型。您必须创建一个模型,对其进行训练,然后将其导入CoreML。很难提供具体的建议,因为我对你的图片一无所知。
就库而言,checkout this list和Swift-AI。
Swift-AI有一个neural network,如果你有足够的图像,你也许可以训练它。
您很可能需要用另一种语言创建模型,例如Python,然后将其导入到Xcode项目中。
看看this question吧。
This blog post详细介绍了如何为CoreML训练自己的模型。
Keras可能是您构建模型的最佳选择。看看this tutorial吧。
还有其他的问题,比如你只有20张图片。这当然不足以训练一个准确的模型。用户还可以呈现这些图像的修改版本。你必须为每个可能的图像生成真实的样本,然后使用整个集合来训练模型。我想说的是,每个图像至少需要20张图像(总共400张)。
您需要对图像进行预处理,并提取可以与图像的已知特征进行比较的特征。这就是面部识别的工作原理。Here是一个面部识别指南,也许能够帮助你进行特征提取。
简单地说,如果没有一个基于你的图像的模型,你就不能做很多事情。
https://stackoverflow.com/questions/48010520
复制相似问题