如何用Python和深度神经网络寻找相似图像
代码首先,读入TuriCreate软件包import turicreate as tc我们指定图像所在的文件夹image,让TuriCreate读取所有的图像文件,并且存储到data数据框data = tc.image_analysis.load_images('./image/')我们来看看,data数据框的内容:data data包含两列信息,第一列是图片的地址,第二列是图片的长宽描述。
下面我们要求TuriCreate给数据框中每一行添加一个行号。这将作为图片的标记,方便后面查找图片时使用,并输出查看data。
data = data.add_row_number()data下面,是重头戏。我们让TuriCreate根据输入的图片集合,建立图像相似度判别模型。
model = tc.image_similarity.create(data)这个语句执行起来,可能需要一些时间。如果你是第一次使用TuriCreate,它可能还需要从网上下载一些数据。请耐心等待。
经过或长或短的等待,模型已经成功建立。下面,我们来尝试给模型一张图片,让TuriCreate帮我们从目前的图片集合里,挑出最为相似的10张来。为了方便,我们就选择第一张图片作为查询输入。
我们利用show()函数展示一下这张图片。tc.Image(data[0]['path']).show()下面我们来查询,我们让模型寻找出与这张图片最相似的10张。
similar_images = model.query(data[0:1], k=10)我们把结果存储在了similar_images变量里面,下面我们来看看其中都有哪些图片。
similar_images返回的结果一共有10行。