图像去重,4 行代码就能实现,你值得拥有imagededup

点击我爱计算机视觉标星,更快获取CVML新技术


现实中我们经常需要用到图像去重,比如为了扩充人脸图像,可以在百度、Google通过关键词下载大量人脸图像,但这些图像可能存在重复,在合并时需要去重。

这里的重复,是指图像内容完全一样,或者有少量的尺度、位移、色彩、亮度变化,或者是添加了少量其他内容等。

当然,我们可以使用类似SIFT图像匹配的方式实现,但这是很慢的。

考虑大规模图像检索去重,一般的流程是全局特征提取+特征hash+二值特征比较。

这里的全局特征提取,可以是直接在图像上进行小波变换、Gabor变换等,也可以是提取图像局部特征(如SIFT)再使用类似VLAD算法特征聚合,或者是直接提取CNN特征。

来自德国商品比较服务商Idealo开源的imagededup(图像去重的英文),是我们快速实现功能的首选。

开源地址:

https://github.com/idealo/imagededup

该库于今年4月份开源,已经有1600+颗星,最近两天还冲上了Github趋势榜。

可以使用 pip 直接安装:

pip install imagededup

仅需要 4 行代码即可实现图像去重:

from imagededup.methods import PHash
phasher = PHash()


# 生成图像目录中所有图像的二值hash编码
encodings = phasher.encode_images(image_dir='path/to/image/directory')


# 对已编码图像寻找重复图像
duplicates = phasher.find_duplicates(encoding_map=encodings)


# 给定一幅图像,显示与其重复的图像
from imagededup.utils import plot_duplicates
plot_duplicates(image_dir='path/to/image/directory',
                duplicate_map=duplicates,
                filename='ukbench00120.jpg')

实际上核心代码就 2 行。

显示结果如下:

上述被检索出来的重复图像的主体内容是相同的,只是拍摄角度稍有不同。

该库目前包含的算法有:

  • Convolutional Neural Network (CNN)

  • Perceptual hashing (PHash)

  • Difference hashing (DHash)

  • Wavelet hashing (WHash)

  • Average hashing (AHash)

另外还支持对给定有标注的重复图像库进行算法评估。

开源地址:

https://github.com/idealo/imagededup

文档地址:

https://idealo.github.io/imagededup/

Idealo公司主营业务即商品比价,图像检索是查询相同商品的重要手段,所以其开源的imagededup应该挺值得大家参考。

支持CV君的分享,欢迎文末点个在看。


图像视频检索交流群

关注最新最前沿的图像视频检索技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

(请务必注明:检索)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值