孪生网络图像相似度_图像相似度比对
图像相似度比对这个问题,在传统算法中常常转化为sift特征点比对的方法去做,主要是sift算法对图像的光照、旋转、位移等等具有比较强的鲁棒性,但是整体精度没有特别高。随着深度学习技术的发展,目前对这个问题的解应该更加完美。所以最进在试图探究这个更加完美的解。
直观思路有2条:一条是利用现成的pretrain_model计算图像的高维特征向量,然后对特征向量,计算余玄距离;另一条是针对特定场景数据,建立图像对的数据集,然后构建深度模型,直接学习相似度。
先说下答案:两者效果整体上差不多,但各有优缺点。pretain_model余玄距离方式:优点很明显,不用准备打标数据集训练,直接预测,卡个阈值就能用,而且非常通用,适用几乎所有数据,缺点是准确率稍微低些(但实测对于高召回、低准确的应用场景基本够用了);针对特定场景数据训练方式:优点是可以针对特定场景数据集调优,精度可以达到我们想要的精度;缺点是耗时耗力、只针对特定场景、通用性差。
下面简单说下技术方案。pretainmodel余玄距离方式基本不用说了,网上下载下pretrain_model,写个脚本预测下就可以了。有个很好的github工程:https://github.com/cameronfabbri/Compute-Features,下载下来就能用,很方便,可以快捷验证。我们重点说下针对特定场景数据训练方式。
在利用基于深度学习进行相似度比对时,我重点参考了这篇paper:
Learning to Compare Image Patches via Convolutional Neural Networksarxiv.org
文中有多种实验方案,归纳起来就2种:一种是对于图像对,用2个cnn分支分别抽取特征,然后concate起来,用全连接组织相似度判别器(其实就是分类器,相似或者不相似);另一种是只用1个cnn分支,将图像对组织成一幅2倍于输入图像通道数的“图像”,作为cnn网络的输入,输出端也是用全连接组织相似度判别器,得到相似度值。可分别用下面两张图表达这个意思:
文中重点实验了3种思路的网络结构,我也一一复现了下,效果最好的是2ch-2stream结构,其次是2ch-deep结构,最后是2ch结构。作者放出了每种结构的具体设计,分别如下:
(i)2ch-2stream consists of two branches C(95,5,1)-ReLU-P(2,2)-C(96,3,1)-ReLU-P(2,2)-C(192,3,1)-ReLU-C(192,3,1)-ReLU, one for cen- tral and one for surround parts, followed by F(768)-ReLU-F(1)
(ii) 2ch-deep = C(96,4,3)-Stack(96)-P(2,2)-Stack(192)-F(1), where Stack(n) = C(n, 3, 1)-ReLU-C(n, 3, 1)-ReLU-C(n, 3, 1)-ReLU.
(iii) 2ch = C(96, 7, 3)-ReLU-P(2, 2)-C(192, 5, 1)-ReLU- P(2,2)-C(256,3,1)-ReLU-F(256)-ReLU-F(1)
其中,效果最好的是2ch-2stream结构图如下,一目了然,非常好理解:
说说我在调优过程中的优化点:
1)图像对训练集的建立。首先准备1w左右的数据(里面可能有少量相似样本,占比不到0.1)。相异样本就是每次fead数据时从这1w数据中随机抽取2张;相同样本是从中随机抽取1张,以及用这1张图片随机增强的图片。
2)文中用的公共数据集适合用64*64的输入,而我用的数据尺寸直接resize到64*64,信息损失会比较大。我统计了数据集所有图像的平均尺寸,得到适合的尺寸为:长=64,宽=256.
3) 自建了一个具有代表性的验证集。一一实验2ch/2ch-deep/2ch-2stream三种结构发现,在验证集上效果恰恰与文中所述结论相反。判断是过拟合验证了。在全连接的地方接了dropout, 系数设成0.9。由于每次训练是随机样本对,随机1个epoch应该是1w1w。所以训练久点,泛化要好些,但不能过长。迭代3w轮,batch_size=128。
最后,说下可能的优化点:
1)这篇文章发表在2015年,当时各种神经网络奇技淫巧,都没出来。所以替换掉中间的特征抽取网络,效果肯定能提升。比如加入resnet-block。
2)加上batch_normal,做正则。
3) 还没有实验文中的spp,加上估计有提升,因为保证了分辨率。
孪生网络图像相似度_图像相似度比对相关推荐
- 图像风格迁移_图像风格迁移—谷歌大脑团队任意图像风格化迁移论文详解
点击蓝字关注我们 AI研习图书馆,发现不一样的世界 风格迁移 图像风格化迁移是一个很有意思的研究领域,它可以将一张图的风格迁移到另外一张图像上,由此还诞生了Prisma和Ostagram这样的商业化产 ...
- 图像修复 图像补全_图像修复简介
图像修复 图像补全 In practical applications, images are often corroded by noise. These noises are dust or wa ...
- python图像融合算法_图像融合质量评价方法的python代码实现——MS-SSIM
图像融合质量评价方法的python代码实现--MS-SSIM 图像融合质量评价方法的python代码实现--MS-SSIM 文章目录 1 前言 2 MS-SSIM介绍 2 MS-SSIM的代码 2.1 ...
- python图像去污_图像去雾----暗通道
暗通道去雾算法原理及实现 1. 算法原理. 暗通道. 所谓暗通道是一个基本假设,这个假设认为,在绝大多数的非天空的局部区域中,某一些像素总会有至少一个颜色通道具有很低的值.这个其实很容易理解,实际生活 ...
- java图像灰度直方图_图像灰度变换、二值化、直方图
1.灰度变换 1)灰度图的线性变换 Gnew = Fa * Gold + Fb. Fa为斜线的斜率,Fb为y轴上的截距. Fa>1 输出图像的对比度变大,否则变小. Fa=1 Fb≠0时,图像的 ...
- python图像下采样_图像的上采样(upsampling)与下采样(subsampled)
缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1.使得图像符合显示区域的大小:2.生成对应图像的缩略图. 放大图像(或称为上采样(upsampli ...
- java 圈复杂度_圈复杂度和代码质量优化(附带示例代码纠正代码质量)
什么是圈复杂度? --------------------------------------- 圈复杂度(Cyclomatic Complexity)是衡量计算机程序复杂程度的一种措施.它根据程序从 ...
- pythonopencv人脸相似度_图像相似度算法的个人见解(pythonopencv)-Go语言中文社区...
简述 前段时间写了篇博文 哈希算法实现图像相似度比较(Python&OpenCV) ,使用简单的哈希算法进行图像相似度判断.但是在实践中该算法达不到预期的效果: 图像缩放8*8大小,图片信息内 ...
- java图像旋转90度_旋转图像90度在java
使用此方法. /** * Rotates an image. Actually rotates a new copy of the image. * * @param img The image to ...
- matlab 通过矩阵变换使图像旋转平移_图像的几何变换
学习图像中的仿射变换(affine transform), 这是一种线性变换(涵盖旋转,平移,错切(shear), 缩放等线性变换),既然是线性变换则可以通过线性变换(矩阵)来获得.仿射变换矩阵M为2 ...
最新文章
- hdu 1251 统计拼图
- Vivado2018如何与Notepad++关联?
- IBM Rev2.6公包主板的问题
- [置顶] Android面试题目之四: 归并排序
- cii框架PHP,CII. POSIX Functions - PHP 5 中文文档
- Linux文件锁学习-flock, lockf, fcntl
- Java对象内存图三
- React开发(280):moment处理日期
- 武汉月薪1万5,感到焦虑怎么办?
- Java开发技术大杂烩(三)之电商项目优化、rabbitmq、Git、OSI、VIM、Intellj IDEA、HTTP、JS、Java...
- Mysql查询某列最长字符串记录
- 设计一个巴特沃斯低通滤波器
- 如何制作一个读取U盘文件系统的工程
- javascript基础常识问答(八)
- 用matlab画出ex,如何用matlab画函数图形
- 高斯核——Python实现
- 点名时间——创新众筹平台
- 金融day03 —— 银行支付结算、银行资产业务
- 今天,洋哥北漂整整11年
- 十多家大厂Android面试真题锦集干货整理,成功拿下大厂offer
热门文章
- win8.1能安装matlab,解决win8.1安装matlab出现无法访问您试图使用的功能...vcredist.msc...等等...
- SPSS做因子分析(非常细致的过程)
- 从零开始系统学习区块链
- 2021-04-02
- 软考:McCabe环路复杂度计算方法
- 离线地图瓦片下载工具
- 构建基于浏览器的Web P2P网络直播
- php 到处excel 乱码,php 导出excel 乱码怎么办
- 离散事件系统仿真(第五版)
- 内网通积分|免广告工具