图像分类&图像检索

2023-10-27

图像检索
基于深度学习的图片检索
图像检索(指基于内容的图像检索,即以图搜图)则是给定一幅查询图像,搜索与之相似(视觉或语义上)的图像。图像检索一般是提取图像特征后直接基于相似性(距离)度量标准计算查询图特征和数据库中图像特征之间的相似性,然后根据相似性大小排序输出结果。
就是以图找图
图像识别包含图像分类,当图像检索中数据库图像带类别标签且查询时只取top1结果的话,也可实现图像分类和识别。
图像相似度是指人类对图像内容认识上(即语义)的差异,导致通过计算查询样图和候选图像之间在视觉特征上存在距离。如果这个距离满足一定条件,我们则可以说这两图像相似度匹配。
经过卷积提取到的特征向量之间的距离,距离越小证明它们之间越相似
图片检索的的大体框架大致可以分成两步,抽取某种特征,计算相似度,,而计算相似度,则常使用欧式距离/汉明距离/Triplet 等方法。

通常想到直接用卷积层来进行特征提取,然后把特征进行对比,但是这样涉及到一个问题,首先一个是数据精度问题,因为直接取特征输出多是浮点数,且维度高,这会导致储存这些图像的特征值会耗费大量空间,第二个因为纬度高,所以用欧式距离这种方式计算相似度,可能会触发维度灾难,令使用欧式距离代表相似度这种方法失效。

一个解决方法就是 使用 Triplet 函数构造一个能够学习如何计算相似度的神经网络,人工构建一个三元集合,该三元集合包括(图片 A,与 A 相似的图片 B,与 A 不相似的图片 C),期望该神经网络接受两个图片输入,若为相似,则输出一个较高的分数,若不相似则输出一个较低的分数。

另一个解决方法是 基于哈希的三种方法 ,最为简单的方式是使用神经网络特征层的输出用于计算空间距离来判断相似度,但这样会导致浮点型数据储存消耗和维度灾难。针对这两个问题,这篇文章提出的方法较为直接。浮点数据怎么办?将他离散成二值型数据,也就是一串 0 和 1 的哈希,这样只需要几个 byte 就能储存一个数据了。维度高怎么办?把他压缩成低维呗。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像分类&图像检索 的相关文章

随机推荐

  • OpenCV 人脸检测(HAAR/DNN)

    1 HAAR级联检测 include
  • 深入理解ThreadLocal源码

    1 预备知识 强软弱虚引用 在Java中有四种引用的类型 强引用 软引用 弱引用 虚引用 设计这四种引用的目的是可以用程序员通过代码的方式来决定对象的生命周期 方便GC 强引用 强引用是程序代码中最广泛使用的引用 如下 Object o n
  • NoSQL数据库详细介绍

    一 NoSQL发展历史 二 什么是NoSQL 三 为什么使用NoSQL 四 NoSQL vs RDBMS 五 常见的数据库 六 NoSQL的四种类型 1 键值 Key Value 存储 2 文档 Document Oriented 存储 3
  • C语言学生信息管理程序

    程序要求如下 实验源码 要求实现学生信息的查找 添加 删除 修改 浏览 保存 从文件读取7 个功能 每个功能模块均能实现随时从模块中退出 而且可以选择不同的方式实 现所需功能 从而完成一个学生管理系统所需功能 2 要使用结构体来实现对学生信
  • pytorch学习笔记——timm库

    当使用ChatGPT帮我们工作的时候 确实很大一部分人就会失业 当然也有很大一部分人收益其中 我今天继续使用其帮我了解新的内容 也就是timm库 毫不夸张的说 Chat GPT比百分之80的博客讲的更清楚更好 仅次于源码 当提到计算机视觉的
  • centos8使用grubby修改内核启动参数

    grubby是一个用于更新和显示有关各种体系结构特定的引导程序的配置文件信息的命令行工具 它主要设计用于安装新内核并需要查找有关当前引导环境的信息的脚本 同时也可以对启动内核的各项信息参数进行修改 本文主要介绍如何在centos8中使用gr
  • 前端接入sentry可能会遇到的坑

    前端接入sentry可能会遇到的坑 多个项目下 sourcemap 会混乱 解决 在配置版本的时候除了填写版本号 最好在版本号添加该项目名称前缀 sourcemap 源码定位不了 解决 1 仔细查看对应的路径是否正确 2 nginx 是否设
  • 关于 Linux 看这篇就够了

    流量如水 文章就是一个瓶子 标题是瓶口 内容是瓶身 瓶子装水有多快依赖瓶口大小 瓶子装水有多少依赖瓶身大小 关于 Linux 看这篇就够了 操作系统概述 Linux 操作系统安装 Linux 文件系统 Linux 命令操作 Linux 权限
  • Just demo test

    MainWindow MainWindow QWidget parent QMainWindow parent ui new Ui MainWindow ui gt setupUi this for int i 0 i lt 3 i QLa
  • Collections中的双向队列-deque

    双端队列 可以快速的从另外一侧追加和推出对象 deque是一个双向链表 针对list连续的数据结构插入和删除进行优化 它提供了两端都可以操作的序列 这表示在序列的前后你都可以执行添加或删除操作 双向队列 deque 对象支持以下方法 1 a
  • easyExcel 用XSSF画斜线

    注册拦截器 WriteSheet writeSheet EasyExcel writerSheet 0 sheet1 registerWriteHandler new CustomCellWriteHandler head header b
  • CF1604 C. Di-visible Confusion(lcm)

    include
  • 《Data Cleansing for Models Trained with SGD》笔记

    1 在其 appendix B 中证 Lemma 7 时说由于 1 s
  • AD18设置默认线宽

    点击设计 gt 规则 选择Routing gt Width 在这里设置
  • 图像格式互转

    一 灰度图转YUV 由于工作需要 经常接触12bit灰度数据 因此在这里将数据的处理记录下来 经常接触的是sensor输出的12bit灰度数据 按照需求经常会将这份数据转换成其他格式 如16bit灰度数据 高4bit为0 YUV数据等 其中
  • asio(十一)、udp异步服务器

    官网教程 https think async com Asio asio 1 26 0 doc asio tutorial tutdaytime6 html udp异步服务器 int main try 创建一个服务器对象来接受传入的客户端请
  • MaxCompute实例相关操作

    通过MaxCompute提交的SQL Spark和MapReduce等作业会实例化 以MaxCompute实例 Instance 的形式存在 MaxCompute实例有对应的实例ID 实例ID永久有效 且全局唯一 查看实例信息 查看实例信息
  • 检查蓝牙是否连接

    检查蓝牙是否连接 private BroadcastReceiver mBlueToothReceiver new BroadcastReceiver Override public void onReceive Context conte
  • npm用法及离线安装方法

    npm用法及离线安装方法 基本的用法 查看某个模块的全部信息 或者可以查看单个信息 npm info name npm info name version npm info name homepage install支持多种手段 包名 gi
  • 图像分类&图像检索

    图像检索 基于深度学习的图片检索 图像检索 指基于内容的图像检索 即以图搜图 则是给定一幅查询图像 搜索与之相似 视觉或语义上 的图像 图像检索一般是提取图像特征后直接基于相似性 距离 度量标准计算查询图特征和数据库中图像特征之间的相似性