计算图像之间的距离?
calculate distance between images?
我想计算一个分布中图像之间的距离,如果我们有 MNIST 数据集,我想计算它们之间的距离,并且它会很高,因为图像是多种多样的,图像属于 class1等属于class2等...
并且相同 class 中的图像之间的距离例如 class 1 会很低。
那么,我该怎么做呢?什么是合适的距离度量?是 KL 还是 EMD 还是其他衡量标准?
谢谢。
您可以查看 triplet loss
以最小化相似 class 之间的嵌入距离并最大化不同 class 之间的嵌入距离。 MNIST 示例和解释链接,
https://www.tensorflow.org/addons/tutorials/losses_triplet
https://towardsdatascience.com/contrasting-contrastive-loss-functions-3c13ca5f055e
https://gombru.github.io/2019/04/03/ranking_loss/
另一种方法是使用通用的预训练图像 classifier 卷积层来提取图像的重要特征并将输出展平为向量。这类似于可以计算距离的词嵌入。类似地,使用这种来自图像的嵌入可以用于计算与其他人的相似度,使用各种距离方法,例如 Cosine Distance、欧氏距离。
这个 repo 对基于深度学习的图像相似性很有用,
https://github.com/ryanfwy/image-similarity
一些替代方法,
您可以尝试使用下面的 repo 进行图像哈希处理,以根据各种方法获得图像相似度。可能这不会很好地处理各种扭曲和变化。
https://github.com/JohannesBuchner/imagehash
图像与地球移动距离的相似度,
我想计算一个分布中图像之间的距离,如果我们有 MNIST 数据集,我想计算它们之间的距离,并且它会很高,因为图像是多种多样的,图像属于 class1等属于class2等... 并且相同 class 中的图像之间的距离例如 class 1 会很低。
那么,我该怎么做呢?什么是合适的距离度量?是 KL 还是 EMD 还是其他衡量标准?
谢谢。
您可以查看 triplet loss
以最小化相似 class 之间的嵌入距离并最大化不同 class 之间的嵌入距离。 MNIST 示例和解释链接,
https://www.tensorflow.org/addons/tutorials/losses_triplet
https://towardsdatascience.com/contrasting-contrastive-loss-functions-3c13ca5f055e
https://gombru.github.io/2019/04/03/ranking_loss/
另一种方法是使用通用的预训练图像 classifier 卷积层来提取图像的重要特征并将输出展平为向量。这类似于可以计算距离的词嵌入。类似地,使用这种来自图像的嵌入可以用于计算与其他人的相似度,使用各种距离方法,例如 Cosine Distance、欧氏距离。
这个 repo 对基于深度学习的图像相似性很有用,
https://github.com/ryanfwy/image-similarity
一些替代方法,
您可以尝试使用下面的 repo 进行图像哈希处理,以根据各种方法获得图像相似度。可能这不会很好地处理各种扭曲和变化。
https://github.com/JohannesBuchner/imagehash
图像与地球移动距离的相似度,