接近完美:CNN图像相似度匹配-SiameseNet
优采云 发布时间: 2022-10-10 04:06接近完美:CNN图像相似度匹配-SiameseNet
一、相关理论
这篇博文主要讲解了2015年CVPR的文章关于图像相似度计算的文章:“Learning to Compare Image Patches via Convolutional Neural Networks”,这篇文章做了经典算法Siamese Networks的改进。学习本文算法需要熟悉Siamese Networks(经典老文档《Signature Verification Using a Siamese Time Delay Neural Network》),大神何凯明提出的空间金字塔池化(2015 CVPR文档"Spatial Pyramid Pooling in Deep ConvolutionalNetworks" for Visual Recognition"),因为文献基本上是在Siamese Networks的基础上修改的,然后也是借助空间金字塔池化来实现不同大小图片的输入网络。
整体网络结构
如上图,我们的目的是比较两张图片是否相似,或者相似度有多少,所以我们建立的卷积神经网络模型的输入是:两张图片,然后网络的输出就是一个相似度价值。其实我觉得用“计算相似度”这个词有点不妥,我觉得应该翻译成匹配度。因为在文献中使用的训练数据中,如果两幅图像匹配,则将输出值标记为y=1,如果两幅图像不匹配,则将训练数据标记为y=-1,即训练数据的标注方法,根本不是相似值,而是匹配值。打个比方,有三个物体:钢笔、铅笔、书包,那么在训练数据中,钢笔和铅笔标记为y=1,
论文的主要创新点:创新点方面,我认为主要是把Siamese网络的两个分支结合起来,从而提高准确率,如下图所示
连体网络
论文算法2通道网络
先解释一下作者为什么叫它:2-channel networks。理解 2-channel 这个词将有助于我们以后理解算法。从上面的Siamese网络可以看出这个网络由两个分支组成,因为我们要比较patch1和patch2这两张图片的相似度,所以Siamese网络的总体思路是让patch1和patch2通过网络分别进行提取。特征向量,然后对最后一层的两个特征向量做一个相似度损失函数来训练网络。这将在后面更详细地解释。总的来说,Siamese具有两张图片的patch1和patch2的特点。提取过程是相互独立的,我们也可以将 Siamese 网络称为“2-branches 网络”。那么论文提出的算法是什么:2通道网络是什么意思?本来patch1和patch2是两张单通道灰度图,互不相干,所以作者的思路是把patch1和patch2结合起来,把这两张图当成双通道图像。即把两个(1,64,64)个单通道数据放在一起,变成一个(2,64,64)个双通道矩阵,然后把这个矩阵数据作为网络的输入,称为:2 -渠道。
OK,这就是文献的主要创新点。明白了这一点,以后看论文会容易很多。可以说,论文的大致思路已经领悟了一半。是不是看起来很简单?
2.连体网络相关理论
这部分是为了了解经典的连体网络,如果你已经知道连体网络的结构,请跳过这部分。
1.“有区别地学习相似性度量,并应用于人脸验证”
Siamese Network:这是一个曾经用于签名认证和识别的网络,也就是我们通常所说的手写识别。这个算法可以用来判断签名笔迹,n年前的算法。该算法的原理是利用神经网络提取描述算子,得到特征向量,然后利用两张图片的特征向量来判断相似度。这有点像 sift,但它使用 CNN 来提取特征,并使用特征向量来构造损失函数。进行网络训练。下面引用2005年CVPR上的一篇文档《Learning a Similar metric Discriminatively, with application to face verification》,简单说明。本文主要使用Siamese网络进行人脸相似度判别,可用于人脸识别。因为我觉得这篇文档的网络*敏*感*词*更漂亮,也更容易理解,所以用这篇文章文章来简单解释一下Siamese network的思想。其网络如下图所示。有两个分支分别输入图片x1和x2(注意:这两个分支其实是一样的,一样的cnn模型,一样的参数,文献只是为了阅读方便,所以画成两个分支,因为他们使用权重共享),包括卷积、池化和其他相关操作。双分支有点难以理解。让我们使用单个分支来理解它。简单来说,连体网络分为前半部分和后半部分。前半部分用于特征提取。
连体网络
如上图,我们需要判断图片X1和X2是否相似,所以我们构建一个网络映射函数Gw(x),然后将x1和x2作为参数自变量,可以得到Gw(x1) , Gw(x2 ),即得到用于评估 X1 和 X2 是否相似的特征向量。那么我们的目的就是做这个函数:
然后使用这个损失函数来训练网络来确定两张人脸的相似度。在上述过程中,网络的两个分支使用相同的功能,即权重和网络结构相同。我们完全可以把 Gw(x) 看成是一个特征提取器,所以孪生网络实际上就是一个提取器。图像的特征算子,然后是网络的最后一层的过程,就是用来定义特征向量之间相似度的损失函数。
2.连体网
好的,让我们回到这篇博文的主题。下面是论文使用的连体网络(共享权重)。在网络的最后一个顶层,输出层由一个线性全连接和一个 ReLU 激活函数组成。在论文中,最后使用的是收录两个全连接层,每个隐藏层收录 512 个神经元。
除了 Siamese 网络,文献还提出了另一种 Pseudo-siamese 网络。这个网络和siamese网络最大的不同是两个分支不共享权重,是真正的双分支网络模型。Pseudo-siamese是在网络的两个分支上,每个分支是不同的映射函数,也就是说它们的特征提取的结构不同,左右分支的权重不同,或者说网络层数不同。等等,这两个函数是没有关系的,只是在最后一个全连接层将它们连接在一起。这个网络相当于 Siamese 网络训练参数的近一倍,当然比 Siamese 网络更灵活。
其实这里我们提到了原创的Siamese和Pseudo-siamese,只是为了衬托一下作者后面提出的算法:2-channel networks,因为最后还要比较算法精度,所以作者这么长-缠绕。我觉得这部分写的太啰嗦会搞砸的,所以还是不细说,觉得这不是重点。下面要解释的2通道网络是论文的主要创新点,所以是我们需要仔细阅读的部分。因为论文的解释方法是逐步改进网络,所以我就按照文献的思路,在siamese网络的基础上进行解释:论文首先提出将siamese改为2-channel,也就是算法的第一次。进化以提高准确性。然后提出了中环双流网络。该算法只改变网络的输入,不改变网络的结构。可与2-channel和siamese结合使用以提高准确性。
3.第一次进化,从连体到2通道(创新点1)
网络的整体结构,2-channel:本质上,上面提到的Siamese网络和Pseudo-siamese网络的每个分支都相当于一个特征提取过程,然后最后一层相当于计算相似度的功能特征向量。于是作者又提出了一种2通道的网络结构,跳过了分支的显式特征提取过程,而是直接学习相似度评价函数。双通道网络结构相当于将输入的两幅灰度图像视为双通道图像。
这样算法的最后一层直接是全连接层,输出神经元的个数直接为1,直接代表了两张图片的相似度。直接用双通道图像训练更快更方便。当然,CNN,如果输入的是双通道图像,也就是网络的输入是两个特征图。经过第一层卷积后,对一张图片的两个像素进行加权映射,也就是说,使用2通道的方法,经过第一次卷积后,两张输入图片就不会分你我了。当 Siamese 网络最终全连接时,两张图片的相关神经元就连接起来了。这是 2-channel 和 Siamese 最大的区别。后来通过实验,作者验证了从第一层关联两张图片的好处。作者原话:这表明共同使用来自双方的信息很重要
直接从网络的第一层打补丁。
顺便说一下,这里有一个文献的网络架构详解,卷积核的大小:Paper的所有卷积核大小都是3*3,因为在《Very Deep Convolutional Networks for Large-Scale Image Recognition》中有提到“ 文档。, 对于小的卷积核,非线性比大尺寸的卷积核更多,效果更强大。总之,如果以后遇到CNN,建议使用更小的卷积核,这样有很多好处。
四、二次演进,结合中环双流网络(创新点2)
这项创新需要对上述网络结构稍作修改。假设我们输入一张大小为64*64的图片,那么Central-surround双流网络的意思就是将64*64的图片处理成两张32*32的图片,然后输入到网络中,那么这个是怎么回事两张32*32的图片算不算?这就是Central-surround方法,即第一张图片是把图片中心切掉的32*32的图片,也就是下图中浅蓝色区域的图片。
那么第二张图片是如何计算的:这张图片是直接对整张图片进行下采样得到的,也就是说直接对64*64的图片进行下采样得到32*32的图片。那么作者为什么要把一张64*64的图片拆分成两张32*32的图片。事实上,这就像多尺度。在图像处理领域,经常使用多分辨率、多尺度,如筛分法、高斯金字塔等。总之,作者说多分辨率可以提高两张图片的匹配效果。这个Central-surround双流网络可以和上面提到的2-channel和Siamese结合起来提高精度。以下是连体和中环两流网络相结合的网络结构:
以上是连体网络模型。采用Central-surround双流网络构建新的网络模型,即在网络的输入部分,将输入图像变为多尺度输入。
5.第三次进化,结合空间金字塔池化SPP
空间金字塔池化采样:这也称为 SPP(空间金字塔池化)池化。这个有什么用?这和上面的有点相似。这实际上类似于多图像多尺度处理。我们知道,在现有的卷积神经网络中,输入层的图像大小一般是固定的,这也是我之前了解的一个神经网络。网络。直到知道了SPP,才觉得自己的视野开阔了很多,菜鸟也有了见识。我们知道在目前很多算法中,提到的训练数据图片的大小是32*32、96*96、227*227等,也就是说训练数据必须归一化到相同大小,然后假设我的各种图像大小的训练数据呢?我是否必须将其裁剪为所有相同大小的图像才能进入卷积神经网络训练?这就是 SPP 算法要解决的问题。训练数据图片不需要归一化,根据江湖传说,效果比传统方法好。以下是Siamese和SPP结合的网络结构:
就是在全连接层前面加一个SPP层。
关于SPP pooling的方法,Daniel He Yuming发表了文章《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》,后面会讲解SSP的相关实现。如果一篇博文一口气讲太多,看起来也很累。
总之,这一步是为了让网络能够输入各种尺寸的图片,提高网络的实用性和鲁棒性。
OK,经过以上三个演化,最终的网络结构,也就是精度最高的,论文最终的算法是:2-channel+Central-surround 二流+SPP网络结构,因为文献没有画出这个网络的结构。,我懒得画,所以不能给你最终的网络*敏*感*词*。
6.网络训练
首先,论文使用以下损失函数:
公式的第一部分是正则项,使用的是L2正则项。第二部分误差损失部分
是网络中第i对训练图像的输出神经元,然后yi的值为-1或1,输入图像匹配时为1,不匹配时为-1。
参数训练更新方法采用ASGD,其学习率始终为1.0,动量参数为0.9,然后选择权重衰减大小:
训练的最小批量大小选择为 128。权重是随机初始化的。
OK,以上是一些网络参数设置。然后是数据处理部分,一般是数据扩展,也就是对图片进行旋转、镜像等操作。Paper 使用的数据扩展包括水平翻转、垂直翻转和旋转,包括 90、180 和 270 角度旋转。终止训练迭代的方法不是提前停止,而是启动并让计算机运行几天。有空回来看看结果,做个对比(ps:这个有点低)。
给力:如何做好关键词,让你的精准流量源源不断
成为亚马逊就像一场新游戏。
你必须先了解它的规则,
你可以玩花样,虽然有时你可能会踩到坑。
但至少它比新卖家更稳定。关键词这东西是千变万化的,只要你懂规则,懂得采集好词组。
那么你的listing曝光率绝对不低!
亚马逊的定义关键词
关键词背后的表达是搜索习惯和购买行为,研究亚马逊关键词是研究用户行为和意图。其中四个维度尤为重要:关键词搜索量、搜索结果数量、关键词竞争力和关键词相关性。
关键词关键词的推广原则推广的目的是为了让关键词有更好的排名位置。推广原理基于关键词的排名算法(A9算法):重点关注四个方面:关键词相关性、关键词点击率、关键词转化率、和用户反馈。我们从挖、选、埋、推词逐步系统地拆解分析,解决关键词卖家的烦恼。如何获得钥匙
关键词如何采集
一、搜索框集合
当您在亚马逊的搜索框中输入某个关键词时,亚马逊会根据客户搜索量的大小和匹配度,向您推荐一些与该词相关的搜索量最高的词。
比如我要卖的是一支笔,我在亚马逊搜索框输入“pen”,下面会出现很多与笔有关的关键词。
这些术语按搜索量和相关性的组合排序。
其实,它也可以看作是一个选择的灵感来源。
2.竞品的listing页面
像一个好人一样学习可以让我们更进步。
亚马逊也是如此。那些排名靠前的产品,永远是大家学习的榜样。
就像你想做一个充电宝产品,那么anker就是一个你必须深入研究的例子。
在anker产品listing的title、bullet points、description、Q&A、review等模块中,可以得到很多关键词的灵感。
3. 广告活动推荐词
广告的目的很多,可以提高关键词的排名,可以利用广告发订单。
但新一季自动广告最重要的功能之一是过滤关键词人工广告组。
当新品的自动广告运行一段时间后,我们可以在后台下载广告报告。根据这些广告报告中的文字,我们将进入下一步创建手动广告。
这里就不过多介绍了。常用软件有:Seller Wizard、JungleScout
关键词组织提示
亚马逊数据分析、亚马逊关键词选型、布局都需要卖家研究分析。关键词的主要作用是保持listing活跃,依赖转化率。那么应该如何将关键词合理的放入标题中,增加上首页的概率呢?一个好的关键词可以为你的listing带来精准的流量,亚马逊可以更好的识别你的listing,从而带来流量。
为什么关键词如此重要:关键词的重要性主要体现在站内广告和自然流量的影响上。
对于不同的广告匹配活动,不同的关键词会产生不同的广告效果。稍微不好的设置会导致ACoS飙升,遇到大流量就结束了。
关键词会出现在标题、五分、商品描述等Listing部分,会直接影响详情页的质量得分,简称LQS,从而影响SEO排名和最终兑换率。
关键词怎么写?
如何编写符合亚马逊规则的亚马逊关键词?在考虑这个问题的时候,首先要做好最基本的操作,也就是遵守亚马逊的规定。例如,根据亚马逊要求的字符和词性制作标题。需要注意的是,不同类别的字符要求可能会有所不同。在满足最基本要求的基础上,再谈优化。
格式1.最好用词组或单词,尽量不要用长句,关键词客户越长,不好用;2.在关键词的排列中,建议从最相关和最准确的产品开始 3.关键词的内容顺序要按正常顺序排列,内容的拼写要是正确的;4. 使用简洁的关键词,不要重复关键词。
从客户的角度,考虑客户在搜索产品时的想法,包括产品款式、颜色、材质、功能、包装、用途等优势。
把握季节关键词如果卖家的产品适合节日使用或送礼,一般在节假日前半到两个月,修改关键词,在关键词中添加节假日相关短语,比如圣诞节、万圣节等。
获取和采集 1. 搜索下拉指南。拿你的产品性质关键词进行亚马逊搜索,会出现一个下拉菜单,在菜单中选择关键词使用;2.亚马逊前台左侧对应的分类和分类导航栏;3.借助亚马逊的一些关键词工具获取;4.在标题、描述、要点等地方参考竞争对手的产品关键词;5.参考其他平台,如WISH ,EBAY,这些也是搜索下拉框推荐的热词。
排序顺序 关于Amazon关键词的写法,很重要的一点是要了解Amazon关键词哪个位置的权重最高,Amazon关键词哪个位置的权重最低,这样才能重点关注分配 关键词。一般来说,标题中的Amazon关键词,搜索词中的Amazon关键词,ppc中的Amazon关键词。哪个重量最大?关键词 的权重主要取决于转化率。而真正带来转化率的很多情况下是标题,所以标题的权重最大,也直接关系到亚马逊卖家的产品能不能被搜索到。然后是搜索词,最后是 ppc。因此,亚马逊卖家可以在标题和搜索词中多放一些关键词,标题是最重要的关键词,并且搜索词通常很重要关键词。另外,越重要的关键词,越应该放在亚马逊标题的前面,搜索词也是如此,越重要的关键词建议应该放在前面。
选择并设置广告关键词的跟踪优化后,需要对其效果进行跟踪,通过分析点击、转化率等数据判断这些关键词是否符合买家的搜索意图。如果有点击没有转化的词,可以删除。此外,您还可以利用广告关键词报告,选择搜索量大、转化率高、产品价格低的用户精准搜索词,快速获取最佳关键词。
以上就是亚马逊关键词怎么写的相关内容,熟悉亚马逊关键词怎么写,PPC广告是新手到大卖家必备技能。毕竟,关键词 已经设置好了。对提升listing流量,刺激买家购物需求有很大作用。值得注意的是,卖家要特别注意标题中关键词的设置技巧,因为标题中的关键词在参与搜索结果的同时,对引导消费者的购买行为起着重要作用. 影响。
如果不想每次转发都收到干货文章
也可以直接加入小密圈实时领取每一期干货
大/宝/站/外/视频/视频/号
点赞转发视频获取干货
需要亚马逊服务加宝贝咨询: