安全与风控
如何通过反向图片搜索找到图片最早发布来源与原始出处
当你需要追溯一张照片、头像、视频关键帧的最早发布页面、摄影师、日期和背景信息时,用多引擎反向图片搜索并读取匹配页面来定位原始出处。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
如何通过反向图片搜索找到图片最早发布来源通用
解决思路
- 先固定输入:获取最高分辨率的原始文件本身,而不是它的截图;截图会引入缩放和二次压缩,损失匹配率;在开始编辑副本前,先对原文件运行 secrets-in-file-metadata 清理元数据。
- 先用完整原图在所有引擎上各搜一遍——成本低,有时能立即命中。
- 裁剪后重新搜索:这是整个技能中收益最高的一步;整图的指纹被背景主导,应紧贴人脸、招牌、logo、车辆、纹身、建筑转角等特征物裁剪,再分别搜索每个裁剪块;转发图常被裁剪和重新构图,所以裁剪块往往能匹配上而整图不能。
- 水平翻转图片:镜像翻转是规避自动匹配的常用手段,也是录屏和视频转发的常见副产物;翻转后用同样的引擎再跑一遍。
- 对低质量输入做预处理后重试——放大、去噪、校正色阶;参见 reference/preprocessing.md。
- 对视频:抽取关键帧当作静态图搜索;搜索开头、中间、结尾各一帧,以及任何含招牌或人脸的帧;关键帧命中通常能突破视频案件。
- 按最旧排序:在 TinEye 上按 oldest 排序;把该日期当作上限而非答案,然后进入下一步。
- 打开并阅读匹配页面:采集摄影师署名、通讯社、图注、被点名的人物、页面日期、图片 URL 中的文件名(常形如 2019-04-city-event-03.jpg),以及周围文章正文;选择器就在这里。
- 用 read-deleted-pages 核对匹配页面自身日期与存档首次抓取时间——存档首次抓取该 URL 的时间界定了页面真实存在的时间,页面显示的日期可能被 CMS 前调或后调。
- 用 google-like-a-spy 的日期限定搜索运算符,查找同一事件或图注更早的文本提及。
- 寻找同一图片的更大分辨率版本:最大版本通常最接近源头,通讯社的副本会比 Twitter 转发版更大;TinEye 的按最大图片排序在此有用。
- 检查常见图库:一张照片被三个国家、三个不同新闻事件署名,说明它是图库素材,所谓“原图”其实是一个授权页面。
- 画面中的水印和通讯社标识胜过任何索引:裁剪水印并单独搜索它。
- 按持有物选择引擎:有人脸先用 Yandex(其索引围绕人脸相似度构建,能返回长相相似的不同人以及同一人的其他照片);Yandex 失败后再考虑专用人脸引擎(须先解决法律与同意问题);北美/西欧以外的街景用 Yandex(对俄语、中亚、东欧、土耳其和中文内容索引更深);产品、书封、艺术品、植物、动物用 Google Lens(物体与实体识别,绑定 Shopping 和 Knowledge Graph);图中有文字用 Google Lens(它会 OCR 画面并允许搜索提取出的字符串,文字往往就是答案);地标或知名建筑用 Google Lens(地标分类是其最强单项功能);杂乱照片中的特定区域用 Bing Visual Search(可在上传图上画框只重搜该区域,是所有引擎中最快的裁剪重试循环);新闻照片、梗图或疑似老图用 TinEye(唯一按最旧排序、且能可靠找出被修改副本的主流引擎);中文或中国托管内容用百度图片搜索。
- 至少跑三个引擎:它们经常互相矛盾,而这种矛盾本身就是信息——TinEye 找到多年前的精确副本而 Lens 只找到近期转发,正是回收媒体的特征。
- 理解各引擎实际在做什么:Yandex 的结果页把“包含此图的站点”与“相似图片”分开,只有第一组才是证据,它对裁剪、旋转和重度重压缩的容忍度高于其他引擎;Google Lens 已从整图重复匹配转向“这是什么、能卖你什么”,做溯源时应使用列出包含该图页面的选项而非视觉匹配轮播,并预期它会把视觉相似但无关的照片当作匹配返回;Bing Visual Search 介于两者之间,其区域选择工具是使用它的理由——无需下载、裁剪、重传的循环;TinEye 基于爬取、索引相对较小,很多图返回零结果,在 TinEye 上查不到不能证明任何事,但它能做别家做不到的:精确与近重复匹配、按最旧排序,以及检测被裁剪、变色或加水印的副本并并排展示。
- 确认候选匹配时打开页面并做像素级细节比对——手的姿势、布料褶皱、反光——以区分“相似”与“相同”。
- 把最早已知副本日期当作关于你搜索覆盖范围的声明,而非关于世界的声明;用存档抓取、日期限定文本搜索、更大分辨率版本、图库核查和水印搜索来加固它。
- 人脸专用引擎(PimEyes、FaceCheck.ID、Search4Faces)仅在你有书面授权或正当保护目的时使用——如欺诈案中核实交易对手、经当事人同意的身份核验、失踪人口工作、检查自身暴露面;不得用于从照片识别陌生人、给抗议人群中的脸安上姓名或定位私人个体;在案卷中记录你运行了它及原因;把人脸引擎命中单独视为未确认,因为撞脸误报常见且引擎不提供可审计的推理。
- 发现匹配后立即截图结果页并归档匹配 URL,因为引擎结果不可复现:索引会删页、结果会重排,上周找到的命中可能已消失。
- 按置信度分级:确认的原始来源(有页面早于所有其他副本、托管方是合理原始发布者、页面日期经独立存档抓取佐证、且不存在更大或更早版本);可能(最早副本在各引擎间一致且托管方合理,但日期仅凭页面自述或该时期无存档抓取);仅匹配(只能证明该图在某日期前出现在某 URL,就照实说,不要升级为“原图”);未确认(仅有视觉相似而无像素级验证,或人脸引擎命中,或单一引擎结果无法复现)。
适用边界 · 注意事项
- 不要用整图只搜一个引擎就下结论说图片未被索引——应裁剪到单个特征物分别重搜。
- 不要把人脸搜索引擎用于识别陌生人、给抗议人群中的脸安姓名或定位私人个体;未经授权运行第三方人脸可能违反 GDPR 第 9 条、伊利诺伊 BIPA、得州 CUBI 及 PimEyes 自身条款。
- 不要把“四个引擎都无结果”当作原创性或真实性的证据——未索引、刚发布、需登录、仅 App 内可见的图片都会返回空结果;AI 生成图本就无源可寻,应转交 is-this-photo-real。
- 不要把裁剪到草地或天空这类普通区域——会返回成千上万自信但无意义的匹配;应裁剪到不寻常之处。
- 不要把客户敏感图片上传到商业引擎,这会向该厂商泄露图片并可能暴露你的调查意图;对敏感材料应搜索不含识别细节的裁剪块,或干脆不搜。