我正在使用Python,scikit-learn和keras。我有3000万个正面手表图像,如下所示: Watch_1,Watch_2,Watch_3。
我想编写一个程序,以接收实际手表的照片作为输入,该照片可能比上面的照片(背景色不同,光线更暗等)在不太理想的条件下拍摄,并且在3000种手表中找到最相似的手表。类似地,我的意思是,如果我输入一张带有薄花边的棕色圆形手表的照片作为输入,那么我期望将其制成为圆形,深色和薄花边的棕色手表的输出。
什么是最有效的机器学习算法?
例如,通过点击此链接,我想到了两种不同的解决方案:
1)使用CNN作为特征提取器,并参考输入图像比较每对图像的这些特征之间的距离。
2)在暹罗神经网络中使用两个CNN来比较图像。
这两个选项是此任务的最佳选择,还是您会提出其他建议?
您是否知道用于此任务的任何预训练神经网络(具有预定的超参数)?