转载自:AI大道理
编辑:东岸因为@一点人工一点智能
目标跟踪就是在时序帧中搜索目标的过程,本质上就是检索。
不管是传统的目标跟踪中的生成模型和判别模型,还是用深度学习来做目标跟踪,本质上都是来求取目标区域与搜索区域的相似度,这就是典型的多输入。
目标跟踪为什么需要相似度?
在跟踪中,下一帧的目标要和上一帧的目标做一个匹配,才能确定是同一个目标。那么同样是行人,如何确定检测框是同一个目标呢?
可以对检测框的目标与上一针所有检测框目标进行相似度匹配。
当然其他的根据检测框的位置,中心点的距离等等都存在不稳定性。
图像的相似度度量存在的困难主要在:
余弦相似度是一种常用的衡量向量之间相似度的方法,它可以用于计算两个向量之间的夹角的余弦值。
在图像相似度计算中,可以将图像转换为特征向量,然后使用余弦相似度来比较这些特征向量的相似程度。
余弦相似度的计算公式如下:

其中,A 和B 分别表示两个向量,· 表示向量的点积,||A|| 和||B|| 表示向量的范数(即向量的长度)。
余弦相似度的取值范围在 -1 到 1 之间,值越接近 1 表示两个向量越相似,越接近 -1 表示两个向量越不相似,接近 0 表示两个向量之间没有明显的相似性或差异。
在图像相似度计算中,可以将图像转换为特征向量(如使用卷积神经网络提取的特征向量),然后计算这些特征向量之间的余弦相似度来衡量图像的相似性。

在图片相似度算法中,哈希算法也被广泛应用。
图像哈希算法通过将图像转换为固定长度的哈希值,从而实现图像的相似度比较和检索。
以下是两种常见的图像哈希算法:
这些哈希算法主要适用于简单的图像相似度比较和快速图像检索任务。
它们具有计算效率高、哈希值固定长度、对图像变换具有一定鲁棒性等优点。
然而,由于哈希算法的特性,它们对于图像的细微变化或者复杂场景下的相似度比较可能存在一定的局限性。
直方图是一种常用的图片相似度算法,它可以用来衡量两张图片在颜色分布上的相似度。
直方图算法通过统计图像中不同颜色的像素数量,并以直方图的形式呈现,进而进行图像相似度的比较。
直方图算法计算图片相似度的步骤:
直方图算法的优点是简单易懂,计算速度快,并且对于图片的旋转、缩放等变换具有一定的鲁棒性。
然而,直方图算法也有一些局限性,例如它只考虑了颜色分布而忽略了纹理和结构等因素。

互信息是一种用于衡量两个随机变量之间相互依赖关系的指标,可以用于计算图片的相似度。
互信息衡量的是两个变量之间的信息共享程度,通过计算它们的联合概率分布和各自概率分布的乘积来评估它们的相关性。
通过计算两个图片的互信息来表征他们之间的相似度,如果两张图片尺寸相同,还是能在一定程度上表征两张图片的相似性的。
但是,大部分情况下图片的尺寸不相同,如果把两张图片尺寸调成相同的话,又会让原来很多的信息丢失,所以很难把握。
两个离散随机变量X 和Y 的互信息可以定义为:

其中p(x,y) 是X 和Y 的联合概率分布函数,而p(x) 和p(y) 分别是X 和Y 的边缘概率分布函数。
在连续随机变量的情形下,求和被替换成了二重定积分:

其中p(x,y) 当前是X 和Y 的联合概率密度函数,而p(x) 和P(y) 分别是X 和Y 的边缘概率密度函数。
互信息的取值范围通常是非负的,值越大表示两个变量之间的相关性越高,也可以理解为两张图片的相似度越高。
互信息算法可能对图像的纹理、结构等细节不敏感,因此在某些情况下可能无法准确地反映图像的相似度。
均方误差(Mean Squared Error,MSE)是一种常用的图片相似度算法,用于衡量两张图片之间的差异程度。
该算法通过计算两张图片对应像素之间的差值的平方,并求取平均值来得到相似度评分。
MSE的值越小表示两张图片越相似,值为0表示完全相同。
MSE算法只考虑像素级别的差异,可能无法准确地捕捉图像的纹理、结构等细节。
MSE的计算公式:

结构相似性指数是一种用于衡量两张图片之间结构相似性的指标。
与均方误差(MSE)相比,SSIM更能捕捉图像的结构信息和感知差异。
SSIM的计算方法考虑了亮度、对比度和结构三个方面的差异。
SSIM公式:

SSIM取值范围[0, 1],值越大,表示图像失真越小。
\mu_X 、\mu_Y 分别表示图像X 和Y 的均值,\sigma_X 、\sigma_Y 分别表示图像X 和Y 的标准差,\sigma_X^2 、\sigma_Y^2 分别表示图像X 和Y 的方差。\sigma_{XY} 代表图像X 和Y 协方差。C_1 ,C_2 和C_3 为常数,是为了避免分母为0而维持稳定。通常取C_1=(K_1L)^2 ,C_2=(K_2L)^2 ,C_3=(K_3L)^2 , 一般地K_1=0.01 ,K_2=0.03 ,L=255 ( 是像素值的动态范围,一般都取为255)
对于比较不同字体的字形相似度,可以考虑使用SSIM算法。因为SSIM算法更注重图像的结构相似性,它更好地检测出字形上的细微差异。
SSIM取值范围[0, 1],值越大,表示图像失真越小。
特征匹配是一种常用的图片相似度算法,它基于图像中的特征点来计算相似度。
特征匹配算法步骤:
特征匹配算法对图片中的局部特征进行有效的匹配和比较,相对于像素级的方法能更好地处理图像中的变换、缩放、旋转等变换操作。
特征匹配算法的性能受到图像质量、变换、遮挡、光照等因素的影响。
Siamese网络是一种神经网络结构,主要用于处理相似度比较或度量学习任务。
它的设计灵感来源于孪生兄弟(Siamese Twins),因为网络的结构呈现出两个相同的分支,共享参数并共同学习。
Siamese网络的主要特点是通过共享权重的方式处理输入的两个样本,然后将它们的表示进行比较或度量,输出它们的相似度分数。
这使得Siamese网络在处理两张图片的相似度非常有效。
Siamese网络的训练过程通常涉及两个主要步骤:
在推理阶段,Siamese网络可以通过将两个输入样本分别通过共享的分支来计算它们的表示,然后使用相似度度量方法(如欧氏距离、余弦相似度等)来计算它们的相似度得分。
Siamese网络的优点在于能够学习样本之间的相似性,并且对于训练数据中不平衡的类别分布也相对较为鲁棒。

Siamese网络由于最后一层使用 sigmoid 激活函数,它输出一个范围在 0 到 1 之间的值。
接近 1 的相似度得分意味着两个输入是相似的,接近 0 的相似度得分意味着两个输入不相似。

SimGNN是基于图神经网络(GNN)的一种模型,用于处理图数据的相似度计算任务。
SimGNN是一种基于端到端神经网络的方法,它试图学习一个函数来将一对图映射到一个相似度分数。
SimGNN的全称是“Similarity Graph Neural Network”,它旨在学习图数据中节点之间的相似度。
相似度图可以被用来解决各种任务,例如推荐系统中的物品相似度计算、文本匹配中的句子相似度计算等。
SimGNN的核心思想是通过图神经网络的方式对图数据进行表示学习,然后通过学到的表示来计算节点之间的相似度。
SimGNN步骤:
SimGNN的优点在于能够利用图数据中的结构信息和节点特征,进行有效的相似度计算。
SimGNN在推荐系统、文本匹配、社交网络分析等领域具有广泛的应用。

Graph kernels(图核)是一类用于计算图数据相似度的方法。
在机器学习和图分析领域,图数据常用于表示复杂的关系和结构,如社交网络、化学分子和推荐系统等。
图核方法旨在衡量不同图之间的相似性或距离。
图核方法基于图的结构和属性信息,通过将图数据映射到一个高维的向量空间中进行计算。这样可以使用向量空间中的传统机器学习算法来进行图的比较和分类。
常见的图核方法包括以下几种:
在目标跟踪中,相似度计算是用来度量当前帧中的目标与跟踪器所预测的目标之间的相似程度。
基于相似度的计算结果,可以用于确定当前帧中最可能的目标位置或更新跟踪器的状态。
常用的相似度计算方法在目标跟踪中的应用:
这些相似度计算方法的选择取决于目标跟踪任务的特点、可用数据和计算要求。
通常,通过实验和评估来选择最适合特定任务的相似度计算方法。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。