衡量图像搜索系统的准确性,需要评估系统针对给定查询检索相关图像的效果。最常见的方法是将精确率 (precision)、召回率 (recall) 和平均精度均值 (mAP) 等定量指标与定性分析相结合。精确率衡量的是检索到的相关图像占检索总数的比例(例如,如果 10 个结果中有 8 个与查询匹配,则精确率为 80%)。召回率计算的是在数据集中所有相关图像中,系统检索到了多少相关图像。例如,如果数据集包含 20 张相关图像,而系统返回了其中的 15 张,则召回率为 75%。mAP 则进一步考虑结果的排名顺序,对将相关图像排在结果列表靠后位置的系统进行惩罚。
关键一步是建立地面真相数据(ground truth data)。这需要一个带标注的数据集,其中每张图像都根据其与特定查询的相关性进行标记。例如,如果构建动物搜索系统,您可以使用 ImageNet 这样的数据集,其中的图像已预先标记了“猫”或“狗”等类别。在测试期间,您需要将系统的输出与这些标签进行比较。为了避免偏差,测试数据集应与训练数据分开,并涵盖多种场景。混淆矩阵或 scikit-learn 等库可以自动化指标计算,但地面真相标签的质量直接影响可靠性。如果标签不完整或主观(例如,“风景优美的景观”),则可能需要人工评估员来验证结果。
处理模糊查询或主观相关性时会遇到挑战。例如,搜索“红色汽车”可能会返回各种红色深浅的图像或不同场景下的汽车。为解决此问题,一些系统采用 A/B 测试来比较不同算法版本,或使用用户反馈(例如点击率)作为相关性的衡量指标。此外,基于嵌入的系统(例如使用 CNN 或 ViT 的系统)可以通过测量查询和结果嵌入之间的余弦相似度来评估。如果嵌入正确聚类,则相似图像之间的距离会更小。然而,这假定嵌入模型本身是准确的,这需要单独验证。结合这些方法可以在考虑现实世界复杂性的同时,全面地评估准确性。