我想实现一个应用程序,能够识别来自相机输入的图片。我指的不是对象的classification,而是从给定的图像集中检测出确切的单个图像。例如,如果我有一个包含500张照片的相册,那么如果我将相机指向其中的一张,那么应用程序将能够知道它的文件名。我找到的大多数关于CoreML的教程都是严格针对图像分类(识别对象的类别)的,而不是关于识别相机中确切的图像名称的。这也需要从不同的角度工作,我能训练网络的所有东西就是这本包含许多不同图片的相册(单个图片对应单个对象)。这能以某种方式实现吗?我不能使用ARKit Image Tracking,因为大约有500个这样的图像,我需要首先用CoreML / Vision找到至少一个相似的列表。
发布于 2020-01-15 04:00:56
我不确定,但我猜perceptual hashing也许能帮到你。它的工作方式是从参考图像中提取一些指纹,对于给定的图像,它也提取指纹,然后您可以找到最相似的指纹。
这样,即使新图像不是100%作为数据集中的图像,您仍然可以检测到它。
它实际上并不是很难实现。但是如果你愿意,我认为phash库是一个很好的选择。
https://stackoverflow.com/questions/59735032
复制相似问题