|
星级打分
平均分:5 参与人数:1 我的评分:未评
本帖最后由 change1996 于 2024-8-2 06:57 编辑
今天心情很好, 之前骗我的那个房东退我钱了,
之所以会写这软件是因为我使用市面上各种去重软件都觉得慢的离谱 真的已经2024年ˊ了吗?
所以我来分享个前几天无聊随手写的软件, 順便寫個筆記
常用人脸识别相关的方式一般有三种
一. 感知哈希用于一般图片去重
感知哈希算法是一种图像处理技术,它可以将一张图片转换成一个固定长度的哈希值,这个哈希值可以用于判断两张图片是否相似
直接上图,应该能马上理解
跟其他两种方法的区别, 很简单, 你用眼睛看两张图, 第一眼看就觉得一模一样的话,如果是感知哈希來看也是判定相似
- 高哈希值:表示图像之间的相似性越强,意味着两个图像在整体结构上的相似度更高,会保留更多相似的素材。
- 低哈希值:表示图像之间的相似性较低,意味着两个图像在整体结构上的差异较大。
这个方法也是今天我分享的这个脚本用的检测方式(混合的脚本现在还在搞) ,ˋ这个对我这个小白来说很够用了,一般切图后用的就是这个方ˋ法
脚本使用方法很简单,放到存放图片的目录,
安裝好依賴
pip install opencv-python-headless numpy
直接输入
python remove.py
然后会提示你选择多少哈希值(指定数字即可)
我自己是选8(8*8) 对我来说很够用了,值越大 ,检测的就越精确, 但太高去重效果不好 ,反之亦然
接下来就是等他跑完
注意事项:
脚本运行完成后会删除当前目录中所有重复的图片和所有文件,并且会自删,请确保重要文件已备份。
还有在你不确定想要的值时, 你先把图复制了创个目录自己做测试, 比对好再去重
这版真的比市面上类似软件快很多很多, 你值得拥有
---------------------只想要单纯的简单去重的朋友可以直接拉到最下了, 下面是人脸辨识相关的私人筆記, 以后无聊想搞个全部自动化的,一劳永逸
二. 欧氏距离(适合用于高精度的去重)
用于检测具体的细节变化,适合用于捕捉具体的细节变化,适用于需要高敏感度检测的应用(能分辨人眼看不出來的極細微差距)
一般來說是跟余弦相似度 来搭配使用来做人脸辨识,当然你也可以拿来去重.....可能一个都去不了
总结来说欧氏距离对任何细微的变化都很敏感,它看什么都觉得不一样,不放过任何细节 ,我个人理解为感知哈希的变态版
- 高欧氏距离值:表示图像之间的差异较大,能够更精确地检测出不相似的细节
- 低欧氏距离值:表示图像之间的差异较小,图像相似度较高
三. 余弦相似度(一般用于人脸(脸型)辨识)
简单来说它只在乎照片主体的形状(脸型判断)用于人脸辨识
主要关注图像内容主體的整体结构,特征,对光线,对比度不敏感 ,用白话说就是只关注照片内主体(人物)的整体形状(例如臉型)
至于感知哈希和余弦相似度的区别
直接上图举例比较快
在上面的两张图像中,我们用人眼可以判斷出第一张图和第二张图區別在於图案, 顏色
所以如果以感知哈希来判断也跟人眼一样 : 两者不相似
但如果是使用余弦相似度 : 会判断两者相似,(他只在乎图内的人物的形状(臉型),其他它不管的)
上图很明显,余弦相似度会判断两者相同, 因为整体结构(脸型)相同, 则感知哈希反之
因为余弦相似度的特点就是著重在图像内容的整体结构和特征,即使ˊ主体表情不同,余弦相似度依然能检测到它们的相似性。
因为余弦相似度通过比较高维特征向量之间的角度来判断相似性,因此能够忽略图案的变化而关注整体的形状和结构。
- 高余弦相似度值:意味着图像的整体结构和内容非常相似,尽管存在光线、表情或角度的变化。
- 低余弦相似度值:意味着图像的整体结构和内容有显着差异,检测到的相似性较低。
不严谨但好懂的例子:
假设一般人眼的视力为1.0,感知哈希与人眼差不多 ,余弦相似度大概是闪光+近视, 而欧氏距离就是显微镜的程度
视力大小:
欧氏距离 > 感知哈希 = 人眼 > 余弦相似度
还是不懂也没关系,之前搞实验的弄的比对器,
通过网盘分享的文件:比對器.rar
链接: https://pan.baidu.com/s/1SZqvMNfk6g6jbghz0J76Kg 提取码: t8gc
玩玩看就知道了, 使用方法很简单, 执行后选两个ˊ图, 结果就会输出在命令行上了
先安装好依赖,
pip install opencv-python-headless numpy imagehash scikit-learn scipy pillow rich pandas
直接执行, 输出结果如上圖
还有之前的批量切图器我也更新了, 我觉得生成资料夹挺麻烦的还得一个一个拖移, 这个我也改了
通过网盘分享的文件:暴力切圖3.0.rar
链接: https://pan.baidu.com/s/1xYsPiuQ8IQfjlBTloKia5Q 提取码: upu2
最近可能暂时不搞这种乱七八糟的了, 到现在连丹都没练过一次
反正上面让你们白嫖这么多工具了, 这个我就设置5灵石了, 反正方向也有了基本也可以自己搞出来一个,
如果有bug直接留言我会找时间更新, 最近很闲, 可能几个小时就搞定了 ----------北京時間2024/8/2 6:30更
為了打這篇文章我放了一個女生朋友的鴿子, 難受了, 难受了我就只能来写一些杂七杂八的东西
统整下没提到的方法和新库
其他方法和庫:
考虑了亮度、对比度和结构信息,综合评估图像相似性。但计算复杂度高
通过比较图像中的关键点和描述子,能够精确地评估图像相似性。但对图像变换敏感
就是一種ai 也準, 就是需要较高的计算资源。
HOG + SVM, 深度卷积神经网络, 68 点面部关键点模型,128 维特征向量 , 欧氏距离
https://dfldata.cc/forum.php?mod=viewthread&tid=546&extra=&page=1
大佬的经典老工具用的就是dlib库+欧氏距离
新興的人脸识别库
- LibreFace
- Face.evoLVe
- DeepFace
- OpenCV-Face-Recognition
牛人們的库我不敢也没资格评价, 都挺牛的 , 通常这些库最大的缺点(其实是我的缺点) 是自己电脑的运算资源不够
不搞這些了, 我去搞我的src了
|
评分
-
查看全部评分
|