文献来源article{pu2024smartphone, title{Smartphone Photography Visual Localization Based on an Improved Siamese Neural Network}, author{Pu, Qiaolin and Cai, Rui and Zhou, Mu and Luo, Kaiyu and Miao, Yiran}, journal{IEEE Internet of Things Journal}, volume{11}, number{19}, pages{31221--31234}, year{2024}, publisher{IEEE} }一段话简要总结本文针对智能手机单目相机室内视觉定位存在的耗时高、易受环境干扰、匹配鲁棒性差、精定位误差大等问题提出一套低开销、高鲁棒的 2D–2D 室内定位方案通过改进孪生神经网络Siamese Neural NetworkSNN实现图像相似度度量与粗定位大幅降低样本标注工作量并适配多类别少样本场景结合自适应 EightPoint‑RANSAC 算法优化基础矩阵、剔除匹配野值完成相机位姿解算与精定位实验在走廊与办公室场景实现平均定位误差 0.50m较传统方法精度最高提升44.32%。三、详细总结1. 研究背景与问题定位需求与技术局限室外依赖 GPS/GNSS室内信号遮挡失效Wi‑Fi / 蓝牙 / UWB 等易受电磁干扰、多径效应影响需额外设备。智能手机普及单目相机无深度信息2D–2D 图像匹配定位成为主流方案。现存关键问题传统图像匹配耗时高、光照 / 相似背景鲁棒性差。深度度量学习需大量标注样本不适配多参考点、每点少样本场景。传统八点法易受野值影响基础矩阵估计不准精定位误差大。2. 核心方法设计1粗定位改进孪生神经网络SNN创新点首次将 SNN 用于室内视觉定位仅需样本对训练大幅降低标注量。网络结构数据预处理同参考点为正样本对Y1不同参考点为负样本对Y0。双共享权重 CNN卷积 池化 Dropout 展平提取图像多层特征。对比损失缩小同类样本距离、拉大异类样本距离。差分回归输出查询图与库中所有图的匹配质量得分而非单一最优匹配。优势适配相似场景、多类别少样本的室内定位。2精定位自适应 EightPoint‑RANSAC核心流程八点法初算基础矩阵。自适应 RANSAC动态计算阈值区分内点 / 野值。NFA 准则筛选最优匹配点集优化基础矩阵。分解本质矩阵解算相机旋转 R 与平移 t完成精定位。优势自适应环境变化有效剔除野值提升位姿解算精度。问题 1本文改进孪生神经网络SNN相比传统 SNN 与深度度量学习的核心优势是什么答案相比传统深度度量学习无需全类别标注仅用样本对训练大幅降低标注工作量适配多参考点、每点少样本的室内定位场景。相比传统 SNN新增差分回归模块输出查询图与数据库所有图像的匹配得分而非单一最优结果降低相似场景误匹配风险为精定位提供多候选参考点。问题 2自适应 EightPoint‑RANSAC 算法如何解决传统八点法定位误差大的问题答案自适应阈值根据匹配点距离分布动态计算 RANSAC 阈值替代固定阈值更好区分内点与野值。NFA 筛选用错误报警数评估样本有效性优选最优匹配点集提升基础矩阵估计精度。迭代策略后续采样仅从内点集抽取减少冗余计算避免局部最优最终更准确解算相机位姿降低定位误差。问题 3本文方案的定位精度达到什么水平与传统方法相比提升幅度如何答案精度水平走廊场景平均误差0.49m办公室场景0.54m整体平均定位误差 0.50m最大定位误差≤1.00m。提升幅度较传统八点法EP精度最高提升44.32%较 SNN 固定阈值 EP‑RS 提升12.50%图像匹配率达97.59%~98.26%远高于传统距离度量方法。摘要随着智能手机的日益普及智能手机摄影在日常生活中变得便捷且普遍视觉定位技术也因此受到广泛关注。由于智能手机多采用单目相机无法从单张图像中获取深度信息基于图像匹配的定位技术得到了广泛应用。然而该方法存在耗时高、易受环境干扰的问题。为此本文提出一种低开销、鲁棒性强的室内图像定位方法主要包含两个模块。首先引入改进的孪生神经网络框架训练图像间的相似度度量模型大幅减少了大量样本数据的标注工作量同时提升了目标环境在匹配阶段存在相似图像特征时的鲁棒性。其次为进一步估计用户的精准位置提出自适应随机样本一致性算法优化经典八点法中的基础矩阵可高效剔除匹配外点以求解相机位姿并动态适应更复杂多变的数据场景。大量实验结果表明该方案的定位性能优于传统方案可实现0.50米的平均定位误差。索引术语——对极几何、孪生神经网络SNN、相似度度量、智能手机摄影、视觉定位。1 前言随着移动通信技术和无线网络的发展基于位置的服务LBSs已在现代人的生活中发挥重要作用。全球定位系统GPS[1]和全球导航卫星系统GNSS[2]能够满足用户对户外场景下基于位置服务LBS的需求日益增长。然而由于室内场景受墙壁和建筑物遮挡这类信号会快速衰减甚至完全无法接收因此无法满足室内定位需求。为解决这一问题人们开始研究室内定位技术例如利用Wi-Fi[3]、红外线[4]、射频识别RFID[5]、蓝牙[6]和超宽带UWB[7]的室内定位技术逐渐兴起。但环境中的电磁干扰、传播过程中的多径效应、无线数据采集的复杂性以及昂贵的外部辅助设施等因素限制了这些技术的发展。Fortunately, with the popularization of smartphone photography, smartphone-based indoor positioning solutions [8], [9] are gradually emerging.幸运的是随着智能手机摄影的普及基于智能手机的室内定位解决方案[8][9]逐渐出现。其中基于图像视觉的室内定位技术凭借数据采集便捷、实现成本低、定位精度高等优势受到了广泛关注并逐步应用于各个领域。视觉定位大致可分为2D-2D方法[10]、2D-3D方法[11]和3D-3D点云方法[12]。2D-3D方法和3D-3D点云方法均需预先构建大规模三维环境模型以获取足够的特征点或点云。这意味着需要投入大量时间和资源来构建和更新三维模型这无疑成本高昂且在智能手机上难以实现。由于大多数智能手机搭载单目摄像头无法从图像中获取深度信息因此基于2D-2D图像匹配的定位技术得到了广泛应用。该技术会与各参考点RP采集的图像特征数据库进行匹配并将匹配图像的对应坐标作为用户的粗定位结果。尽管上述流程看似简单但仍面临一些挑战。首先由于室内环境的复杂性图像匹配的精度往往会受到光照、相似背景等因素的影响且大规模图像数据会增加匹配开销。其次许多基于图像匹配的定位研究通常直接将匹配图像的对应坐标作为目标的最终位置。然而在视觉定位系统中参考点RPs之间的间隔通常比无线定位系统中的更大因为间隔过近的参考点无法有效区分不同的图像。因此在实际应用中直接将用户位置估算为参考点的位置由于用户位置无法与参考点RP完全重合无疑会带来一定较大的误差。此外与Wi-Fi信号的各向同性不同图像采集与匹配过程中始终存在角度偏差由此产生的特征各向异性是不可避免的这也可能导致仅依赖图像匹配实现的粗定位可靠性下降。因此需要对粗定位结果进行进一步处理以获取更精准的用户位置。提升图像匹配的精度并从匹配的图像中估算用户位置是二维-二维室内图像定位技术的核心与难点。图像匹配[13]的核心是通过比较相似度在数据库中找到与在线图像最相似的图像因此选择合适的度量准则至关重要。传统的距离度量学习基于局部特征描述子的人工度量[14,15]该方法简便易行但仅关注特征点之间的距离未充分考虑特征点与周边环境的约束以及特征描述子的内部结构缺乏科学性和可信度。为解决这些问题众多研究学者提出了深度度量学习DML[16,17]方法。深度度量学习采用端到端的大规模数据集训练方式能够训练并优化带有交叉熵损失函数的相似度度量模型以实现图像间的相似度度量相较于传统度量方法在复杂室内环境和大规模集成环境中具备更高的精度与更好的泛化能力。然而现有的大多数深度度量学习任务需要每个类别拥有足够的样本且需提前知晓所有可能的样本标签这并不适用于类别数量多但每个类别样本量少的应用场景。针对这一问题研究人员提出了孪生神经网络SNN[18,19,20]该网络仅需成对数据极大简化了数据标注工作更适配多类别少样本的任务。事实上孪生神经网络已应用于分类与识别任务[22,23]。但现有应用的输出往往是对“单一”最佳匹配的预测例如人脸识别系统[24]这类系统更像是二分类任务仅有“是”和“否”两种输出。在多度量学习任务中网络的输出也为单一最佳匹配在多分类任务中网络会直接将目标归为相似度最高的类别未考虑目标与样本集之间存在的多种可能性。精细定位通常利用对极几何原理[25]通过图像间的匹配点对关系求解相机的帧间位姿变换并基于候选图像与查询图像之间的变换向量将加权距离最小的参考点RP作为用户位置。基础矩阵[26]的计算是关键步骤之一它阐释了两幅图像之间的几何关系而从基础矩阵中可得到两帧图像之间的姿态变化矩阵进而计算出两台相机的相关参数。总体而言八点法[27]是应用最广泛的方法其包含四个步骤1点对匹配2相机标定3矩阵求解4位姿恢复。首先在两张图像中选取八对匹配的特征点这些点对应于图像间的对极线随后对相机的内参进行标定与测量。其次对基础矩阵进行优化求解。最后恢复相机的位姿变换并结合第一步中得到的用户候选位置确定其精确位置。在八点法中所选匹配点的质量和数量会影响基础矩阵计算的精度进而影响相机位姿的恢复效果。图像中包含的信息量通常较大因此如何提升基础矩阵的计算精度成为一个关键问题。传统八点法采用随机方式选取八对点来计算基础矩阵该方法速度较快但选中误配点对的概率较高且选取的点不具有代表性。相关研究人员针对匹配点的选取提出了一些约束条件在一定程度上提升了点的选取质量但单一的筛选方法难以适应复杂的室内环境。此外面对多样化的数据集传统方法缺乏自适应性也难以具备良好的泛化性与实用性。因此本文的研究工作可分为两个部分。在图像匹配方面本文提出了一种改进的SNN相似度度量框架该框架通过两个权重相同的神经网络提取图像的多层特征并训练相似度度量模型。如前文所述SNN无需为所有类别构建库仅需针对样本对进行处理大幅降低了数据标注的负担。更重要的是SNN在类别数量多但每类样本数量少的场景中表现更优因此更适用于存在多个参考点RP且每个参考点采集各向异性图像的定位系统。然而现有SNN框架与现有深度度量学习DML方法存在相同的缺陷即仅输出单一的最佳匹配结果。在视觉定位场景中部分参考点采集的图像可能因环境属性呈现相似特征例如不同参考点可能面对走廊中同一面白墙因此直接输出匹配度最高的图像存在风险我们更关注数据库中所有图像的匹配度以便在用户可能的候选粗定位位置进行权衡。在精确定位估计方面本文提出一种自适应八点随机抽样一致性EightPoint-RANSAC方法来优化基础矩阵。该方法融入自适应随机抽样一致性random sample consensuRANSAC算法可自适应去除噪声和误匹配点解决了相机帧间位姿变化问题进而实现用户位置的估计。本文的主要贡献总结如下。1) 我们提出正负样本对的概念利用SNN来衡量相似度。与需要了解所有信息的传统深度度量学习DML方法相比提前预设可能的样本标签SNN 仅需成对数据因此大幅降低了对大量标注数据的需求更适用于多类别样本量较少的室内定位任务。据我们所知这是首次将 SNN 框架引入该定位领域的研究工作。2本文提出一种改进的脉冲神经网络以实现粗定位该方法在传统脉冲神经网络中加入差分回归模型使其能够输出目标图像与数据库中每张图像的匹配质量得分而非直接输出单一最相似图像。该方法更适用于样本特征相似的定位场景。3提出了一种自适应八点-RANSAC算法。与传统的八点法相比该算法采用自适应RANSAC算法自适应调整阈值设置以根据环境优化基础矩阵消除噪声和误匹配点的影响显著提升了精定位精度。2. 相关工作2.1 图像检索在图像检索领域较为传统的方法是基于内容的人工图像表示法其中占主导地位的是尺度不变特征变换SIFT[28]算法与视觉词袋BoVW[29]方法。这类算法通常利用局部像素块进行特征提取尽管计算速度较快但在面对噪声、遮挡和重复纹理时其性能更容易受到显著影响。随着深度学习的兴起深度卷积神经网络DCNNs已成为图像检索的主流技术这是因为它们能够通过多层网络的堆叠更好地理解和捕捉大规模数据集中的信息。早期研究通过全连接层的激活从整幅图像中提取CNN特征并借助主成分分析等方法进行降维例如VLAD-CNN[30]和Alexnet[31]但全连接层的激活过程往往会丢失具有判别性的信息导致特征的判别能力较弱。为解决这一问题文献[32]利用不同特征提取器的互补性开展了层融合研究并提出了融合SIFT特征与CNN特征的匹配方案以检测图像间存在的重复区域对然而这种基于特征描述子的增强效果十分有限且在局部变化情况下稳定性不足。因此众多研究人员开始聚焦于基于深度度量学习DML的图像检索研究。与传统的欧氏距离EucD[33]、汉明距离HamD[34]、余弦相似度[32]以及直方图[35]等距离度量方法相比深度度量学习能够实现更优异的表现。在图像识别、分类与定位领域。在一般的深度度量学习DML任务中网络通常将图像块匹配任务转化为二分类任务[36]网络的输出即为匹配标签。人脸识别系统是一个典型应用案例。参考文献[37]提出了一种孪生网络架构可用于训练人脸之间的相似度度量但该模型将输出设定为唯一的最优识别样本在对比未见过的新样本时极易出现识别错误。研究人员提出了一种面向质量的特征回归QOFR模块用于相似度评分[38]该模块能有效整合多级卷积神经网络CNN特征并将其映射为相似度评分。Zhu等人[39]通过计算卷积神经网络提取的内容特征与对应通道之间的距离来衡量样本间的相似度并将其作为深度特征聚合的权重。遗憾的是这些研究不仅网络计算量庞大对图像的内容和质量也有较高要求且尚未被证实适用于室内定位领域。在室内图像定位的相关研究中文献[40]的流程与本文相近但该研究未对样本对进行划分而是直接将所有卷积神经网络特征整体打包进行相似度排序这一做法极易忽略类别间细微的帧间特征关联且仅能输出一组相似度最高的图像对基于图像的定位任务的容错率较低。Accordingly, the inner product of each global descriptor is used as a similarity metric [41], and the similarity matrix is projected onto a 2-D grid graph to create a more reliable similarity score map. However, it may fall into local optima.因此将每个全局描述符的内积作为相似度指标[41]并把相似度矩阵映射到二维网格图中以此生成可信度更高的相似度得分图。但该方法容易陷入局部最优解。Therefore, this article proposes an SNN framework that can be used for indoor positioning systems. It utilizes dual channel learning to learn the similarity relationship of paired images and provides the similarity probability of each pair of samples for position estimation based on matching images.为此本文设计了一种新型脉冲神经网络SNN架构专门用于室内定位系统。该架构采用双通道学习机制能够有效捕捉图像对的相似性特征并输出相似度概率从而为基于图像匹配的定位提供可靠依据。2.2 位置估计在基于视觉图像的室内定位研究中用户位置估计主要分为两类一类是将在线查询图像与离线图像进行匹配并直接将匹配的参考点RP坐标作为用户位置[35,42]。夏等人[43]结合K近邻算法KNN与支持向量机采用重分类投票法找出最可能匹配查询图像向量的参考点。尽管该方法引入了投票机制来选择最优参考点但本质上仍属于简单的直接选点定位方法定位误差较大。The other one is usingthe principle of epipolar geometric constraintsto conduct fine positioning, where computing the fundamental matrix is the key step to estimate the camera’s interframe pose changes.另一种方法则利用对极几何约束原理实现精确定位其中求解基础矩阵是估算相机帧间位姿变化的关键步骤。The eight-point method is widely used to compute the fundamental matrix, but it is very sensitive to noise and mismatches of feature point pairs on the target image and retrieved image.八点法被广泛用于基础矩阵的计算但该方法对目标图像与检索图像间特征点对的噪声和误匹配极为敏感仅一处错误匹配就可能对定位结果产生负面影响。此外有时还存在难以在某些复杂且变化的场景中难以获得足够数量的匹配点对。为解决这些问题有研究人员提出了一种基于特征云的改进八点算法该算法通过特征点匹配消除噪声和误匹配点的影响[44]。但该方法的特征匹配精度在低纹理区域或光照不均的情况下易受影响鲁棒性不高。贾等人[45]提出了一种八点选择算法利用特征点的均匀分布来降低匹配误差。然而实际图像中的特征点并非均匀分布这种处理必然会带来较大误差。此外文献[46]提出了一种基于像素阈值的八点方法在一定程度上改善了特征点的像素畸变问题但该方法对像素阈值的选择较为敏感。吴和刘[47]提出了一种基于RANSAC的基础矩阵估计方法以剔除明显的外点但该方法使用固定阈值无法根据不同场景充分区分内点和外点难以达到理想的基础矩阵估计精度。3.预备知识3.1 Metric Learning | 度量学习度量学习的目标是通过学习一个距离函数将两个 K 维输入向量映射到同一个特征空间使得同类样本的特征距离最小化异类样本的特征距离最大化。距离函数采用马氏距离的形式可分解为最终可化简为投影后特征向量之间的欧式距离平方。这表明马氏距离本质上是对原始特征做线性变换后再计算欧式距离。通过学习矩阵 W网络可以自动找到最适合分类与匹配的特征表示从而实现“类内近、类间远”的优化目标。综上度量学习通过学习投影矩阵 W将原始数据映射到更具判别性的特征空间并使用距离度量实现同类紧凑、异类分离是图像检索与视觉定位的核心理论基础。因此度量学习的目标是寻找一个 n 阶实矩阵 W将原始样本空间映射到特征空间 \(\Omega\)。深度度量学习DML利用深度网络的非线性特征表达能力以卷积神经网络为特征提取器学习一个非线性映射将原始样本映射到更具判别性的深度特征空间。此时两个样本之间的距离函数可表示为式 (3)3.2 Epipolar Geometric Constraints | 对极几何约束对极几何约束Epipolar Constraint描述了同一空间点在两幅不同视角图像上的投影点必须满足的几何关系。 它是 2D-2D 视觉定位、相机位姿估计、匹配点筛选的核心理论基础。单目相机在不同位置采集的图像匹配对始终存在重叠平面通过重叠部分中特征点对之间的特定对应关系可确定相机在两帧中的位置变化。这种关系被称为对极几何约束它描述了以基线为轴的平面束中同一场景的两个几何视图的交点之间的约束关系。这两个公式是相机针孔投影模型的标准形式描述了三维空间点如何被投影到不同视角的图像上也是你论文中6DoF 位姿估计的核心理论基础。4 系统描述与实现4.1 系统框架本研究中定位流程包含粗定位和精定位两个部分。首先为提高图像匹配的精度本文构建了一种基于对比学习的改进型SNN框架以学习图像间的相似性度量模型。将候选匹配图像对应的参考点RP位置作为粗定位结果以此缩小定位范围。随后采用自适应八点RANSACEP-RS算法利用图像匹配点对之间的几何关系进一步提升定位精度。所提定位系统框架如图2所示。在离线阶段采集图像数据构建图像样本库搭建由两个共享权重的CNN通道组成的SNN框架建立相似性度量模型。在线阶段将在线拍摄的图像输入训练好的模型输出该图像与离线图像之间的相似性得分。通过对候选图像进行加权、筛选和排序得到匹配度最高的图像对并返回其对应的参考点位置作为粗定位结果。接着依据对极几何约束利用两帧图像的平面点信息计算出两幅匹配图像的相机位姿变化。最终根据大地坐标系之间的变换关系估计各查询相机的偏移向量得到用户的精确位置。图 2所提方法的系统框架Framework of the proposed method这张图是整篇论文最核心的流程图展示了从离线建库 → 在线粗定位 → 在线精定位的完整视觉定位 pipeline。一、图 2 整体结构它把系统分成两大阶段Offline Phase 离线阶段Online Phase 在线阶段二、Offline Phase离线阶段作用提前建库、训练模型Image Data Collection 图像采集在室内布置若干参考点 RPReference Point用手机在每个参考点拍摄多方向、多角度图像构建离线图像数据库Database ImageImproved Siamese Neural Network 改进孪生网络用离线图像构建正负样本对训练图像相似度度量模型输出训练好的特征提取 相似度打分模型输出物一个可用于在线匹配的图像特征库 相似度模型。三、Online Phase在线阶段用户拿着手机实时拍照定位分成两步1. Coarse Localization 粗定位核心改进 SNN输入用户实时拍摄的Query Image 查询图像模型把查询图和数据库里所有图做相似度打分输出Top-N 最相似的数据库图像把这些图对应的参考点坐标作为粗定位结果作用快速缩小定位范围找到用户大概在哪个参考点附近。2. Fine Localization 精定位核心自适应 EightPoint-RANSAC输入粗定位给出的最佳匹配图像对数据库图 查询图用对极几何约束计算两幅图之间的相机位姿变化用自适应 EightPoint-RANSAC 优化基础矩阵 F剔除误匹配点、计算旋转 R 和平移 t输出精确的用户位置坐标作用把 “参考点附近” 变成厘米 / 分米级精确位置。四、图 2 的数据流一句话总结离线建库并训练孪生网络 → 在线拍照做粗定位 → 用对极几何 自适应 RANSAC 做精定位 → 输出最终位置4.2 基于改进孪生神经网络的粗定位在线图像匹配阶段要求将定位范围缩小到离用户位置最近的相邻RP附近以实现粗略定位因此对图像匹配的精度要求很高相似度度量学习的设计非常关键。正如我们在第一节中提到的改进后的SNN采用了类似DML的学习策略通过训练相似度度量模型自动学习可判别和可概括的特征表示。然而它通过两个相同的通道来训练相似度度量模型。与传统的DML方法相比不需要构建所有类别的库来获得所有样本类内部和之间的大量集成特征关系而只需要成对的数据从而更适合多类别中具有少量样本的室内定位任务。此外由于定位场景的特殊性相邻RP的图像特征信息往往差异不大。最匹配图像的直接输出可能会增加错误定位的概率这是有风险的。因此与直接输出为0或1的传统SNN不同我们的改进SNN增加了微分回归模型因此它可以对所有样本对进行相似度评分从而提供多个候选RP作为后续精细定位的基础。事实上SNN是一个对比学习框架通过两个神经网络共享权重和参数对输入样本进行同等处理、编码和训练以学习一个最具代表性的相似度度量模型。改进后的SNN由四个模块组成1数据预处理2编码3对比度损失和4差异回归如图3所示。具体地数据预处理模块用于创建正负样本的配对对作为训练样本相似度度量的基线编码模块通过两个权重共享的卷积神经网络提取样本对的多级特征卷积神经网络由卷积层、池化层、归一化层和激活函数层组成对比损失模块将编码模块的输出映射到对比损失空间通过对比损失函数将训练样本的相似度度量用于对比损失模块将编码模块的输出映射到对比损失空间训练样本之间的相似度度量并调整网络参数得到最优的相似度度量模型差分回归模块通过训练好的度量模型对样本对进行回归预测得到最终的匹配质量得分。训练样本对的目标是通过最大化正样本对的相似度和负样本对的差值来实现相似图像对的匹配和不同图像对的区分。图 3改进孪生网络SNN结构详解这张图是论文里改进孪生神经网络SNN的完整训练流程核心目标是让模型学会判断两张图像是否来自同一个参考点为后续粗定位提供相似度度量能力。一、整体流程一句话总结从图像数据库出发构建正负样本对通过共享权重的孪生网络提取特征用对比损失优化相似度度量最终训练出可用于匹配的模型。二、逐模块拆解1. 输入Image Database图像数据库这是离线阶段采集的所有参考点图像每个参考点RP都有多张不同角度、光照的图像。它是整个模型训练的数据来源。2. 数据预处理Data Preprocessing这里把数据库里的图像分成两类样本对是孪生网络训练的关键正样本对Images at the same reference points两张图像来自同一个参考点比如同一个位置拍的不同角度照片标签为相似。负样本对Images at other reference points两张图像来自不同参考点标签为不相似。这样构建样本是为了让模型学习 “同一位置的图像特征应该更接近不同位置的应该更疏远”。3. 特征提取Feature Extraction两个输入图像 \(x_i\) 和 \(x_j\)分别送入两个共享权重的 CNN 网络 \(f(\cdot)\)提取特征向量 \(h_i\) 和 \(h_j\)。关键两个网络的参数 \(\omega\) 完全共享箭头表示权重传递这样才能保证特征提取的一致性让距离计算有意义。输出的 \(h_i\)、\(h_j\) 是两张图像的高维特征表示。4. 度量学习Metric Learning对比损失Contrastive loss核心是计算两个特征向量的距离 \(d_{i,j}\)并通过对比损失函数优化模型参数对正样本对损失会让 \(d_{i,j}\) 尽可能小对负样本对损失会让 \(d_{i,j}\) 尽可能大。对比损失的本质就是在特征空间里给不同参考点 “划清界限”让同一类聚在一起不同类分离开。5. 评估Evaluation距离 \(d_{i,j}\) 送入评估模块 \(M(\cdot)\)可以用来判断两张图像是否属于同一参考点比如设置阈值小于阈值判定为同一类。训练完成后这个模型就可以用来计算查询图像和数据库图像的相似度为粗定位提供匹配依据。三、这个结构的核心优势结合论文改进点共享权重的孪生结构保证特征提取的一致性避免模型学习到无关的差异专注于图像内容本身的相似度。正负样本对训练不需要给每个参考点单独分类标注大幅降低了室内定位场景下的标注成本。对比损失优化直接在特征空间学习距离度量比传统的分类模型更适合 “匹配相似度” 的定位任务。四、它在整个定位系统里的作用这张图的模型训练完成后就会在图 2 的 **Coarse Localization粗定位** 阶段使用输入用户的查询图像和数据库里所有图像计算相似度选出最相似的 Top-N 图像对应的参考点就是Candidate RPs候选参考点为后续精定位提供范围。1数据预处理模块改进SNN的第一步是数据预处理。使用该模块创建图像样本库的正负样本对其中数据集中的图像对被标记视为相似或不相似。具体而言我们从数据集中选取一对图像将其视为一个样本对。来自同一参考点RP的不同图像被视为正样本对来自不同参考点RP的不同图像被视为负样本对。我们用Y表示正、负样本对的相似度。若图像\(X_{1}\)与\(X_{2}\)为正样本对则将\(Y1\)对应的标签设为\((X_{1}, X_{2}, 1)\)反之将标签设为\((X_{1}, X_{2}, 0)\)。这种处理方式不仅简化了模型还提升了模型的性能与泛化能力确保模型能学习到有效特征并区分出相似与不相似的图像。2) 卷积模块由于SNN是一种对比学习框架而非特定的神经网络因此我们选择卷积神经网络作为实现该方法的载体用于处理图像数据并从中提取有意义的特征。SNN的主要特征之一是包含两个结构完全相同的卷积神经网络二者共享相同的网络结构、权重和偏置。表1和图4展示了该卷积神经网络的参数设置与结构示意图。def build_feature_extractor(input_shape(128,128,3)): inputs layers.Input(shapeinput_shape) # Block1: Conv(32)×2 MaxPool x layers.Conv2D(32, (3,3), activationrelu, paddingsame)(inputs) x layers.Conv2D(32, (3,3), activationrelu, paddingsame)(x) x layers.MaxPooling2D((2,2))(x) # Block2: Conv(64)×2 MaxPool x layers.Conv2D(64, (3,3), activationrelu, paddingsame)(x) x layers.Conv2D(64, (3,3), activationrelu, paddingsame)(x) x layers.MaxPooling2D((2,2))(x) # Dropout Flatten Dense(128,Sigmoid) x layers.Dropout(0.3)(x) # 常用0.3你可改 x layers.Flatten()(x) x layers.Dense(128, activationsigmoid)(x) model Model(inputs, x, nameFeatureExtractor) return model # 构建并查看结构 feat_ext build_feature_extractor() feat_ext.summary()颜色和厚度的含义橙色块卷积层Conv2D越往右的卷积层能提取越复杂的特征。红色块池化层Maxpooling特征图会变 “薄”尺寸缩小通道数不变。紫色块全连接层把二维的特征图变成一维向量最终输出 128 维特征。数据流的走向输入图片 → 两次卷积 → 池化特征图变小 → 两次卷积 → 池化再变小 → 展平Flatten → 全连接层输出特征向量。这就是孪生网络里每一个分支h_i和h_j的完整特征提取流程。在前向传播过程中首先通过卷积层的卷积操作提取特征得到一系列空间分布的、表征不同特征的特征图这些特征涵盖了从边缘、角点等低级特征到高级特征的各个层级。随后池化层在保留重要特征信息的同时缩小特征图的尺寸。池化层之后我们通常会引入一个经过非线性映射的激活函数层以增强网络的非线性表达能力。最后将激活函数的输出传入全连接层生成两个特征向量分别对应两张输入图像。卷积神经网络可被视为一个非线性函数3) 对比损失模块该对比损失模块通过寻找公共参数将提取出的样本对特征映射到共同的特征空间中使得同一类别的样本损失函数值最小、在特征空间中距离更近而不同类别的样本损失函数值最大、在特征空间中距离更远。我们为所提出的孪生神经网络SNN定义了一种能够有效处理样本对关系的损失函数其表达式如下这个损失函数的目标是对正样本对同一参考点图像让它们的特征距离尽可能小对负样本对不同参考点图像让它们的特征距离尽可能大。你可以把这个损失想象成一个 “奖惩规则”同一位置的两张图距离越近奖励越高损失越小。不同位置的两张图距离越远奖励越高损失越小。模型在训练时会不断调整参数让 “同一类聚在一起不同类分离开”。之前写的对比损失函数就是这个公式的实现def contrastive_loss(y_true, y_pred, margin1.0): # y_true: Y标签1正样本0负样本 # y_pred: 特征距离 square_pred K.square(y_pred) margin_square K.square(K.maximum(margin - y_pred, 0)) return K.mean(y_true * square_pred (1 - y_true) * margin_square)这个损失函数是孪生网络训练的核心直接决定了模型能不能学会区分不同参考点的图像是后续粗定位阶段 “图像相似度匹配” 的基础。4差分回归模块通过映射对比度损失空间中卷积层输入的双通道特征可以学习极小和极大类内距离的特征集得到样本间的特征差异相似度