电脑中有大量手机照片,要批量删除其中相似度高的,首先得有一个分析照片相似度的算法和模型。CLIP(Contrastive Language-Image Pre-Training)模型是由OpenAI在2021年发布的一种多模态预训练神经网络,旨在通过对比学习方法将图像和文本进行联合训练,从而实现对图像和文本之间关联性的理解和匹配。CLIP模型的核心思想是通过对比学习(Contrastive Learning)来学习大量的图像和对应的文本描述,形成一个能够理解两者之间关联的通用模型。具体来说,CLIP采用了两个独立的编码器:一个用于处理文本,另一个用于处理图像。这两个编码器分别提取文本和图像特征,并基于比对学习让模型学习到文本-图像的匹配关系。
在deepseek中输入提示词:
一步步思考,写一个Python脚本,完成批量删除相似照片的功能,具体步骤如下:
打开文件夹:F:\dpic;
读取文件夹里面所有的图像文件;
用CLIP提取文件夹所有图像的特征,然后计算它们的余弦相似度;
相似高的2张以上图片,只保留其中一个最佳图片,删除其余图片;
设置相似度阈值> 0.87
注意:每一步都要输出信息到屏幕上
源代码:
import os
from PIL import Image
import numpy as np
import torch
from transformers import CLIPProcessor, CLIPModel
from sklearn.metrics.pairwise import cosine_similarity
# 定义文件夹路径
folder_pat