Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 利用神经网络寻找最相似的图像_Python_Keras_Similarity - Fatal编程技术网

Python 利用神经网络寻找最相似的图像

Python 利用神经网络寻找最相似的图像,python,keras,similarity,Python,Keras,Similarity,我正在使用Python、scikit learn和keras。我有30万张正面手表的图片,如下所示: 我喜欢编写一个程序,它接收一张真正手表的照片作为输入,这张照片可能是在不如上面照片理想的条件下拍摄的(不同的背景颜色、较暗的闪电等),并在3000只手表中找到最相似的手表。通过相似性,我的意思是,如果我输入一张带有薄花边的圆形棕色手表的照片,那么我希望输出圆形、深色和薄花边的手表 最有效的机器学习算法是什么 例如,通过以下步骤,我想到了两种不同的解决方案: 1) 使用CNN作为特征提取器,并参

我正在使用Python、scikit learn和keras。我有30万张正面手表的图片,如下所示:

我喜欢编写一个程序,它接收一张真正手表的照片作为输入,这张照片可能是在不如上面照片理想的条件下拍摄的(不同的背景颜色、较暗的闪电等),并在3000只手表中找到最相似的手表。通过相似性,我的意思是,如果我输入一张带有薄花边的圆形棕色手表的照片,那么我希望输出圆形、深色和薄花边的手表

最有效的机器学习算法是什么

例如,通过以下步骤,我想到了两种不同的解决方案:

1) 使用CNN作为特征提取器,并参照输入图像比较每对图像的这些特征之间的距离

2) 在暹罗神经网络中使用两个CNN来比较图像

这两个选项是完成此任务的最佳选项,还是您会提出其他建议

你知道这个任务有没有经过预先训练的神经网络(具有预先确定的超参数)


我在StackOverflow上找到了一些关于这一点的有趣帖子,但它们都很老了:,。

很难定义与照片相似的确切含义。因为它们都是手表,你必须决定哪些特征与你最相似(形状、颜色、数字/空白面等)

下面是一种使用tensorflow库与最近邻库混合的方法,示例代码如下:


这至少可以让您开始。

下面是Keras的另一种方法:感谢您的回复。是的,什么是相似性比看起来更不确定。从这个意义上说,我在想,根据花边的形状、颜色、厚度给我的图像贴标签,并在上面应用连体神经网络是否有效。我还没有决定,但我寻找最准确的方法来做到这一点,而不必花费这么多时间在标签图像等。。。