> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 基于计算机视觉的无人机定位
- URL: https://www.hubwiz.com/blog/locate-uav-using-computer-vision/
- Published: 2024-11-08T13:43:19.000Z
- Updated: 2024-11-08T13:43:19.000Z
- Description: 假设你有一张航拍图像，但不知道拍摄位置，但知道空间分辨率和方向。计算机视觉如何帮助解决这个问题？
- Author: admin
- Tags: APPLICATION, COMPUTER VISION, UAV, CHANGE DETECTION, KAGGLE, FACENET, MOBILENET, SIFT, #Import 2026-10-14 14:41

假设你有一张航拍图像，但不知道拍摄位置，但知道空间分辨率和方向。计算机视觉如何帮助解决这个问题？这似乎是事实核查、损坏数据地理参考或导航的常见问题。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-688.png)

图块匹配

第一个问题是数据。只有少数数据集专门用于此任务。

我发现这个[研究](https://github.com/arplaboratory/satellite-thermal-geo-localization/tree/main?ref=hubwiz.com) ，科学家在其中解决了类似的任务，但针对的是热成像。

## 1、变化检测数据集

当我查看 TorchGeo 时，我发现变化检测数据集正是我需要的。有时间图像对，景观和季节也多种多样。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-689.png)

两个时间的图像

此外，可以使用分割或分类数据集和积极增强。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-690.png)

两张增强的图像

此外，我还发现了 S2Looking、LevirCD+、XView2 变化检测数据集，它们已经上传到 Kaggle 并可与 Kaggle 笔记本一起使用。

因此，我选择了 Kaggle，因为我没有 GPU，而且它比 Google Colab 更方便，因为它可以在我离线时进行训练。

## 2、模型和概念

作为模型，我使用了带有 TripletMargin 损失的 Mobilenet。这个概念出现在 2015 年，并被许多公司成功用于[人脸验证](https://arxiv.org/abs/1503.03832%E3%80%82%20https://arxiv.org/abs/1503.03832?ref=hubwiz.com) 。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-691.png)

[https://arxiv.org/abs/1503.03832](https://arxiv.org/abs/1503.03832?ref=hubwiz.com)

目前，还有许多其他选择，但对于第一次实验来说，古老而知名的解决方案似乎不错。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-692.png)

SIFT 匹配

遗憾的是，经典的 SIFT 和 ORB 匹配缺乏稳健性，尤其是在匹配使用不同季节和不同传感器拍摄的图像时。

我使用滑动窗口模型，并采用步幅来查找源图像中最相似的点。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-693.png)

滑动窗口概念和概率图

此外，最近出现了许多有趣的选项，例如[LightGlue](https://github.com/cvg/LightGlue?ref=hubwiz.com)，Kaggle 上也有一个非[常激动人心的挑战 ](https://www.kaggle.com/competitions/image-matching-challenge-2023?ref=hubwiz.com)。看起来可能有很多很棒的想法可供进一步研究。

## 3、数据增强

我使用两阶段数据增强来使模型更加稳健：

- 通过相同的几何变换增强锚点和正样本。
- 通过相同颜色变换增强正样本和负样本，但与锚点图像的颜色变换不同。尝试在锚点和正负样本之间模拟不同的传感器或不同的季节。

## 4、实验

几个月前，我为[另一个实验](https://medium.com/p/d61b4b936d52?ref=hubwiz.com) 收集了数据，看起来我可以使用它。

我从镜头中抓取了三帧。

我只对它们进行了平移、缩放和旋转，没有使用正射校正或运动结构，假设我只有高度和地平线，解决方案应该可以快速工作。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-694.png)

摄像机图像和查询补丁

从不同高度和不同角度捕获的图像。分辨率设置为 EPSG:3857 中的 0.6m，以适应 TMS 缩放级别 = 18。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-695.png)

卫星和无人机图像裁剪

如示例图像所示，存在许多差异：

- 不同的季节 - 冬季和夏季
- 不同的天气 - 晴天和多云
- 大扭曲，尤其是靠近图像边界，不同的模糊和锐化
- 土地利用的变化

## 5、匹配结果

匹配地图的第一个原始结果让我感到困惑，但当我在匹配地图上只留下 2.5% 的最小距离时，它开始看起来好多了，当我留下前 3 个最近的补丁时，一切开始变得很好。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-696.png)

输出，前 2.5% 距离范围，前 3 个补丁

如果训练网络更多次，图片可能会更好。

示例 1。运行良好。找到。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-697.png)

上下文、裁剪、查询

在整个大图像中，最佳结果在目标区域。我认为这是成功的。

示例 2。在附近区域发现。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-698.png)

看起来网络在处理如此多的颜色和几何扭曲以匹配图像时表现更差。可能是训练数据集和网络训练不佳的问题。

示例 3。更多误报，但在附近区域发现。

![](https://www.hubwiz.com/blog/content/images/2024/11/image-699.png)

看起来网络在处理如此多的颜色和几何扭曲以匹配图像时表现更差。可能是训练数据集和网络训练不佳的问题。

这部分已编辑，我在评估时犯了错误。

## 6、结束语

大多数人将正射校正图像作为查询图像进行查询，但由于计算成本高，很难在无人机上进行这种校正。此外，我没有找到不同季节的实验。这里有明确的证据——它可以奏效。

此外，还有明确的证据表明，公开可用的变化检测数据集可用于开发类似的解决方案。

我只有大约 4 天的时间进行这项实验和撰写本文，因此，不幸的是，训练数据集没有得到很好的探索，目标数据没有探索，神经网络是在几个小时内建立的，并从第二次尝试开始训练，错误没有探索。还有很大的进一步研究空间​​。可以点击这里查看Kaggle 上的[训练管道](https://www.kaggle.com/aliaksandr960/cd-to-loc-training-v1?ref=hubwiz.com)。

---

原文链接：[Let’s try to locate UAV with change detection datasets and FaceNet](https://aliaksandr960.medium.com/lets-try-locate-uav-with-with-change-detection-datasets-and-facenet-d6f91521e471?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处