Geo-localization论文阅读4
文章目录
1. Lending Orientation to Neural Networks for Cross-view Geo-localization
CVPR2019
1.1 Thinkings
现存的深度学习方法都是最大化正确pair中两幅图像representations的相似度,同时最小化unpair的两幅图像rpresentations的相似度。但是,本论文从一个简单的场景出发,即人类在森林迷路了,如果只能使用纸质地图,他该如何定位自己在纸质地图中的位置呢?首先,一般人类的做法是旋转纸质地图,让纸质地图的朝向和他现在的朝向一致再进行位置的定位。本篇论文也是受此启发,提出了orientation对于geo-localization的重要性,并显示地将orientation信息加入神经网络进行学习。
总体来说,这篇论文的contributions主要在以下几点:
- 使用一个比较简答且有效的方式将逐像素的朝向信息整合进神经网络用于cross-view localization。
- 一个全新能够同时学习图像外表和朝向信息的孪生神经网络。
- 贡献了一个大尺度的cross-view image benchmark,CVACT。这个benchmark有GPS-tag。
1.2 Principle Analysis
要理解整篇文章的原理,只需要理解两点:1. 怎么参数化逐像素的朝向信息;2. 怎么把参数化后的朝向信息加入神经网络的学习之中。
1.2.1 参数化朝向信息
对于街景图像来说,作者采用了球面角(azimuth, altitude),即(方位角,仰角)。方位角的取值范围为[0°, 360°],仰角的范围为[-90°, 90°]。
对于空视图像来说,作者采用了极坐标系描述orientation,即(方位角,半径)。公式如下:
θ
i
=
a
r
c
t
a
n
2
(
x
i
,
y
i
)
(1)
\theta_i = arctan2(x_i, y_i) \tag{1}
θi=arctan2(xi,yi)(1)
r
i
=
x
i
2
+
y
i
2
(2)
r_i = \sqrt{x_i^2 + y_i^2} \tag{2}
ri=xi2+yi2(2)
作者就这样,逐像素地将地面全景图像和空视图像全部标注上了orientation。一张图像对应了一个2通道的orientation map,本论文叫做U-V maps。
1.2.2 Inject Orientation Information
本论文展示了两种inject orientation information的方法:上面那种就是直接把3通道RGB和2通道U-V map进行一个concatenate操作,得到一个5通道的输入;下面那种就是先把3通道RGB和2通道U-V map进行一个concatenate操作,得到5通道输入后,再在其下采样的过程中不断与U-V map的下采样feature进行concatenate。
1.3 Benchmark
本论文的贡献除了上述加入朝向信息进行geo-localization,还创建一个大尺度的cross-view dataset——CVACT,密集地覆盖了Canberra。这个数据集卫星图像分别率达到了0.12m,并且有些图像还是一对多,下表是这个数据集和CVUSA的对比:
2. GeoCapsNet: Aerial to Ground View Image Geo-localization Using Capsule Network
ICME2019
2.1 Thinkings
基于传统CNN的feature embedding的学习,都是只考虑了the visual information similarity,即视觉信息的相似度。这些方法往往都忽略了cross-view image pairs之间的geometric discrepancy(几何差异)。
最近随着胶囊网络的提出,其目的就是为了解决传统CNN仅能考虑visual information的缺陷,它通过buiding parts-to-whole relationship between entities让胶囊网络能够更好地学习视角不变性。具体原理可以看我这篇资源转载胶囊神经网络资源转载和Pytorch实现。总体来说,本篇论文的contributions主要在于以下三点:
- 利用胶囊神经网络去解决aerial-to-ground geolocalization中的feature embedding,以获得更鲁棒的invariant representations。
- 引入了一个weighted soft-margin triplet loss with online hard sample mining in each training batch。
- 在CVUSA和VH两个数据集中大量的实验证明了GeoCapsNet达到了SOTA。
2.2 Principle Analysis
胶囊网络的原理这里就不再赘述,我上面的资源转载都有,这里的使用和原论文胶囊网络一模一样,就只是前面feature maps的提取这篇论文用了ResNetX。
这里就是它的Soft-TriHard Loss,其实就是每一个batch之中只用和anchor最近的那个negative计算loss。相当于CVMNet那个hard negative mining的弱化版(在CVMNet源代码里面有)。
最后附上打榜数据集的图,整篇论文其实相当于把另一个领域的东西迁移到这个领域的一种创新吧。
3. Geolocation Estimation of Photos Using a Hierarchical Model and Scene Classification
ECCV2018
3.1 Thinkings
从这篇论文的标题就可以看出来这篇论文为了解决Geolocation Estimation的问题,引入了层次模型和场景分类。在这之前,Geo-localization的方法绝大多数都属于有约束的方法,除了PlaNet这类很少一部分论文将预测照片GPS坐标扩展到了全球范围,其他方法或多或少地限制了区域、影像资料或者地标建筑等等。
mark一下,这篇论文的Related Work写的还不错,后续可以借鉴一下。
总体来说这篇论文的contributions如下:
- 利用
多重精度网格切分
将层次信息整合进Geolocation Estimation之中,以提升无限制方法的精度 - 将场景分类信息整合进Geolocation Estimation之中,以提升无限制方法的精度
3.2 Principle Analysis
如上图所示,这是整篇论文方法的总览。这篇文章最大的亮点就是层次信息和场景分类信息整合到模型中以提升无限制方法的估计精度,下面博主将分开讲解这两个部分的原理。
3.2.1 Scence Classification
为了提取图像的场景标签,作者利用了在Place2上训练的ResNet152模型。这个模型在来自365个场景超过1600万张图像上进行了训练。作者这356个场景 S 356 S_{356} S356的基础之上提取了两组场景分类标签,第一组有16个场景 S 16 S_{16} S16,第二组有3个场景 S 3 S_{3} S3(indoor,nature,urban)。后续大部分实验都是基于 S 3 S_{3} S3来做的。然后,作者利用ResNet152模型将训练数据集打上场景标签。
现在作者有了一堆带有场景标签的数据集图片,为了利用这些场景信息,作者提出了两种网络结构ISNs(Individual Scene Networks)和MTN(Multi-Task Network)。前者就是根据不同的场景训练不同的网络去预测图片坐标,例如训练图像有三种场景标签,就需要针对这三个场景标签单独训练三个网络去预测图片坐标;后者就是一个多任务网络,即在预测坐标的同时预测场景信息,损失函数由场景预测损失和坐标预测损失共同组成。不过后续实验证明了MTN没啥用,ISNs效果好一点。
3.2.2 Hierarchical Spatial Information
这里层次信息就是由三组不同精度的划分组成的,从
C
1
C_1
C1到
C
3
C_3
C3精度越来越细,作者在划分的时候保证了每一层的每一个geo-cell在下一层至多有一个更粗精度的geo-cell与其对应。这就类似于构造了一个树状的结构,一个节点至多有一个父节点。然后,借鉴YOLO9000用树状的softmax去预测该图片落入每一个geo-cell的概率。
3.3 Conclusion
这篇论文和PlaNet一样都是讲Geolocation Estimation转化为网格分类问题,而做这方面研究的论文确实比较少。这篇论文告诉我们,在面对无约束问题的时候,多想想引入层次信息(从某种意义上来说,这篇论文引入的场景分类也能算一种层次信息)以划分研究的范围,在每个小范围再利用模型解决问题,从而达到减少研究现象的异质性,提高精度的目的。