图像检索和图像生成是计算机视觉领域中两个截然不同的任务,其目标也根本不同。图像检索侧重于从数据集中查找符合特定条件的现有图像,例如与查询图像在视觉上的相似性或与文本描述的一致性。例如,谷歌图片等搜索引擎使用检索技术来返回与用户输入相关的照片。相反,图像生成涉及创建在任何数据集中都不存在的全新图像。DALL-E 或 Stable Diffusion 等工具可以根据文本提示生成新颖的视觉内容,例如生成一张从未被拍摄过的“骑滑板的红猫”。检索依赖于分析和匹配现有数据,而生成则是从零开始合成新内容。
这些任务的技术方法差异显著。图像检索系统通常使用特征提取方法,例如卷积神经网络(CNN),将图像编码为表示其视觉属性(例如颜色、形状)的向量。这些向量存储在数据库中,并使用余弦距离等相似性度量来对匹配项进行排序。例如,反向图像搜索可以使用预训练的 ResNet 模型提取特征,并使用最近邻算法查找相似图像。而图像生成则依赖于生成模型,例如 GAN(生成对抗网络)或扩散模型。这些模型学习训练数据集的统计分布,并从中采样以创建新图像。例如,GAN 可以通过名人面部图像进行训练,以生成逼真但虚构的肖像。关键区别在于系统是查询现有数据(检索),还是建模数据分布以生成新样本(生成)。
这些技术的应用案例也各不相同。图像检索常见于电子商务(查找类似产品)、医学影像(定位具有特定异常的扫描)或内容审核(识别被禁止的图像)等应用中。例如,购物应用程序可以检索与用户上传照片匹配的手提包图像。另一方面,图像生成用于创意领域(艺术、设计)、数据增强(用于机器学习的合成训练数据)或个性化内容创建(游戏中的头像)。当真实数据稀缺时,开发人员可以使用扩散模型为机器人视觉系统生成合成训练图像。虽然这两个任务都涉及处理视觉数据,但检索侧重于高效搜索和匹配,而生成则优先考虑创造性和合成。理解这些差异有助于开发人员为其特定需求选择合适的工具。