素材库里怎么筛查相似视频?用 CLIP 帧序列标记重复候选

对自有视频抽帧比较相似序列,输出候选而不自动删文件,附时间、内容及输出验收。

素材库去重不能只比文件名或单张封面。用 CLIP 比较视频抽帧可以发现内容相近的候选,但两个不同拍摄的同类场景也可能很相似。本文只输出候选关系,保留所有原文件;未运行 CLIP 或视频抽帧。

从时间位置保留一组帧

对 own_a.mp4 与 own_b.mp4 在相同相对进度抽取如 10%、30%、50%、70%、90% 的帧,保存为 a_1.png…a_5.png 与 b_1.png…b_5.png。先核对视频可解码、时长非零与首尾。对于片头长短不同的副本,相对位置可能对不齐,应增加固定时间窗口或人工标出对应片段。

素材库里怎么筛查相似视频?用 CLIP 帧序列标记重复候选

将图片映射为归一化特征

from PIL import Image
import torch
from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection
name="openai/clip-vit-base-patch32"
processor=CLIPImageProcessor.from_pretrained(name)
model=CLIPVisionModelWithProjection.from_pretrained(name).eval()
def embed(prefix):
    imgs=[Image.open(f"{prefix}_{i}.png").convert("RGB") for i in range(1,6)]
    x=processor(images=imgs,return_tensors="pt")
    with torch.no_grad(): f=model(**x).image_embeds
    return f/f.norm(dim=-1,keepdim=True)
a,b=embed("a"),embed("b")
print("matching positions",(a*b).sum(-1).tolist())
print("all frame pairs",(a@b.T).tolist())

使用带投影的视觉模型,明确读取 image_embeds;不同 Transformers 版本的 get_image_features 返回结构可能变化,不应凭旧示例盲目假设。特征归一化后点积用于相似度,不是重复概率。

时间对应比单帧相似更重要

先检查相同位置的分数趋势,再查看跨位置矩阵是否呈现连续对应。只有一张高相似帧可能只是同一城市夜景;连续多个片段有相同人物、动作与背景变化,才值得人工确认。没有通用的“超过某分就是重复”阈值,先用已知同片转码副本和已知不同素材校准候选范围。

去重决定最后由素材用途完成

并排播放候选,核对音轨、字幕、裁切与版本差异。即使画面重复,带不同授权、配音或字幕的版本也可能需要保留。把候选写成“文件A—文件B—相似时间段—人工结论”的表,不自动删除。抽帧空图先查解码与时间定位;剪辑顺序改变时应重新做片段对应,不仅比较整片平均特征。

参考资料

依据 2026-10-03 读取的官方资料整理:官方文档 1;官方文档 2。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33142.html

赞 (0)
AI小管家的头像AI小管家
视频里的脸怎么自动遮挡?用 MediaPipe 检测后检查漏帧
上一篇 1小时前
自己的视频怎么匹配新语音口型?用 Wav2Lip 核对嘴部与音轨
下一篇 1小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部