如何衡量视频相似度:我测试的6种技术(以及我最终采用的那一种)
本文对比了六种视频相似度测量技术——GPT Vision、Gemini Flash、CLIP、感知哈希、CV多指标和Gemini Embedding 2——使用瀑布剪辑作为基准。准确率优先于速度。Gemini Embedding 2处理完整视频,在准确率和速度之间取得了最佳平衡,超越了帧采样方法。
本文深入探讨了视频相似度测量的核心挑战。作者以一段热带瀑布视频作为参考,并准备了另外八个瀑布片段作为测试集,旨在逼迫所有方法在细微的颜色、光照、构图和运动上做出判断,而非仅仅识别“是否有水”。基准设置严格:所有方法使用相同的六帧采样,每帧缩放到384×216像素。由于缺乏人工标注,作者将前五种方法的得分平均作为伪标签,尽管不完美,但被认为可防御。
测试的六种技术涵盖了从本地轻量算法到云端大模型的不同方案。GPT Vision能够提供富有洞察力的文本反馈(例如“视觉主题、调色板和整体情绪存在显著差异”),但数值得分在50到80之间聚集,且在不同运行间波动,难以对相似的瀑布片段进行精细排序。Gemini Flash是唯一真正观察整个视频运动(包括节奏和相机移动)的方法,理论上优势巨大,但实际速度最慢,在测试中遇到了503和429错误,导致一个片段完全无法评分。CLIP作为本地运行的基线,每个帧被转换为向量后取平均,再计算余弦相似度,虽然得分稳定且排序合理,但所有分数都集中在85到95之间,即使对并不相似的片段也是如此,因此绝对分值缺乏意义。感知哈希将每帧压缩为64位指纹,速度极快(比其他方法快50倍),但几乎不具备判别力,只能作为粗暴的筛选。CV多指标组合了HSV直方图(颜色)、SSIM(结构)、时间颜色轮廓和边缘密度,作者通过手动加权得到复合分数。这种方法的问题在于不同指标间可能存在巨大分歧,例如SSIM对构图偏移敏感,而时间轮廓几乎不受影响,导致同一视频在某指标上得分99,在另一指标上仅有18。
Gemini Embedding 2被描述为CLIP的进化版,但能处理完整的视频输入,无需帧采样。它将整个视频文件作为单个blob上传,生成3072维的嵌入向量,然后通过余弦相似度进行比较。作者进行了帧采样对比实验:使用4、8、16、32、64帧以及完整视频,结果发现从4帧增加到32帧仅使得分从65提升到70(增加5分),但处理时间从5.26秒翻倍到10.65秒;而使用完整视频时,得分为73,时间仅为7.19秒,既优于所有帧采样方案,又比采样超过4帧的方案更快。这证实了“更多帧并不意味着更好准确性,只是更长的等待”。
最终,作者选择了Gemini Embedding 2作为实际部署的方案,尽管它需要API调用和几秒钟的延迟,但其准确性无可比拟。作者强调,准确性是首要考量,因为“快速但错误的答案毫无用处”。文章还提到了一些实际注意事项,比如校准陷阱(得分分布可能集中在某个区间)以及成本权衡。尽管输入文本在结尾处有截断,但已提供足够的内容来撰写一篇详细的技术文章。