imagededup是一个Python软件包,它简化了在图像集合中查找精确且几乎重复的任务。
下面这些图显示了排除重复照片:
该软件包提供了利用散列算法的功能,这些算法特别擅长查找精确的重复项,而卷积神经网络也擅长查找近似的重复项。还提供了评估框架来判断给定数据集的重复数据删除质量。
以下详细介绍了软件包提供的功能:
imagededup与Python 3.6兼容,并根据Apache 2.0许可进行分发。
有两种安装imagededup的方法:
1.从PyPI安装imagededup(推荐):
pip install imagededup
Note️注意:默认情况下,imagededup附带仅TensorFlow CPU支持。如果您有GPU,则应该安装具有GPU支持的TensorFlow版本,尤其是在使用CNN查找重复项时。它的速度更快。有关如何安装的更多详细信息,请参见TensorFlow指南。
2.从GitHub来源安装imagededup:
git clone https://github.com/idealo/imagededup.git cd imagededup python setup.py install
快速开始
为了使用感知哈希在图像目录中查找重复项,可以使用以下工作流程:
导入感知哈希方法
from imagededup.methods import PHash phasher = PHash()
为图像目录中的所有图像生成编码
encodings = phasher.encode_images(image_dir='path/to/image/directory')
使用生成的编码查找重复项
duplicates = phasher.find_duplicates(encoding_map=encodings)
使用重复字典来绘制给定文件(例如:“ ukbench00120.jpg”)获得的重复
from imagededup.utils import plot_duplicates plot_duplicates(image_dir='path/to/image/directory', duplicate_map=duplicates, filename='ukbench00120.jpg')
输出如下:
工作流的完整代码为:
from imagededup.methods import PHash phasher = PHash() # Generate encodings for all images in an image directory encodings = phasher.encode_images(image_dir='path/to/image/directory') # Find duplicates using the generated encodings duplicates = phasher.find_duplicates(encoding_map=encodings) # plot duplicates obtained for a given file using the duplicates dictionary from imagededup.utils import plot_duplicates plot_duplicates(image_dir='path/to/image/directory', duplicate_map=duplicates, filename='ukbench00120.jpg')
有关更多示例,请参考存储库的这一部分。
有关软件包功能的更多详细用法,请参阅:
https://idealo.github.io/imagededup/
@misc{idealods2019imagededup, title={Imagededup}, author={Tanuj Jain and Christopher Lennan and Zubin John and Dat Tran}, year={2019}, howpublished={\url{https://github.com/idealo/imagededup}}, }
Idealo的主要业务是商品比较,图像检索是查询相同商品的重要手段,因此其开源imagededup应该值得参考。
开源地址:
https://github.com/idealo/imagededup