原来地面控制点(GCP)是这么用的,你知道吗?

查理谈科技 2024-05-10 00:14:43

原来地面控制点(GCP)是这么用的。

在无人机航空图片处理方面, 经常会遇到的一个词汇就是GCP, 通常我们看到的地面控制点 (GCP) 是一些打印的图片,放置在需要航测的目标区域,用来提高无人机拍摄的图片的精度。当使用没有地面控制点的低成本无人机时,绝对精度仅为水平5m和垂直20m。 这使得无法用于更加精密的工程设计,例如 砾石坑、垃圾填埋场和建筑工地的精确测量和计算。

下面我们来详细认识地面控制点 (GCP)。

地面控制点(GCP)目标放置

地面控制点 (GCP) 是收集的图像中具有已知空间坐标信息的一组可识别特征,可以在目标物体和所选照片之间进行高精度跟踪的位置。 可以使用GCP为重建模型提供“精确”的现实世界坐标,并确定处理参数的准确性和影响。地面控制点 (GCP) 用于在 PPK 或 RTK 工具不可用的情况下确保最终无人机图像的高定位精度。

在测绘测量中,控制点是可以精确定位的点。 此精度不仅适用于点本身,还可以插值到 GCP 之间的网格。 因此,只需少量已知的精确坐标(可达亚米级!)即可准确绘制大面积地图。

地面控制点 (GCP) 通常使用提供厘米级精度的测量级 GPS 设备来收集。 这些特征可以是现有的物理对象(例如,道路交叉口的角落),也可以是在无人机调查感兴趣的目标区域之前手动定位的自定义目标(图 1)。 GCP 应在 目标区域 中均匀分布; 否则,他们最终可能会扭曲最终图像的位置精度。

手动定位自定义目标可能非常耗时,因为它需要确定到达应放置目标的区域的访问路线,然后使用精确的 GPS 设备记录每个位置。 目标应该足够大,以便在多个(至少三个)重叠的空中拍摄中被看到,并且应该固定在地面上。

地面控制点(GCP)的大小和形状

标准尺寸为约 60 厘米 x 60 厘米(2' x 2')的正方形。 在处理飞行之前在图像上创建 GCP 标记时,可以轻松检测到这种形状和尺寸。 形状、大小和颜色有多种变化, 如图四所示,图五展示的是更为现代的GCP标识,其中ArUco是近年来流行的开源的基准标识系统,有着OpenCV的Python库的支持。

GCP 的数量和放置位置

虽然从技术上讲,许多无人机测绘软件可以使用最少 3 个 GCP,但最佳实践是在飞行区域中至少使用 5 个 GCP。 如图六所示。

放置 GCP 类似于在风中压住防水布。 首先,需要将 GCP 放置在项目区域的拐角处或方向急剧变化的位置。 然而,如果一阵风吹到你的防水布,中间很容易被风吹起。 无人机地图也会发生完全相同的事情。 这就是所谓的圆顶。 为了防止拱起,需要在映射区域内放置一个或多个 GCP 点。

GCP 的有效性与 GCP 之间的距离成反比。 靠近 GCP 的区域将非常准确,距离 GCP 越远,结果越不准确。 在每个 GCP 周围绘制一个半径为 200m 的假想线圆是有益的。 落在圆圈之外的区域质量较低。 200m 半径适用于低端相机/无人机,例如 mavi mini。 对于 Phantom 4 pro 等更好的相机,假想圆可以更大。

GCP 数据的收集

为了后期处理, 每个GCP的坐标都需要精准记录,最终会汇集到一个文件中, 这里以一个csv 为例,图七所示。

GCP 数据的计算

有很多软件实现了GCP数据的设计和计算,这里介绍一个开源方案,我们使用“Find-GCP”python包(https://github.com/zsiki/Find-GCP)来识别每张照片中的标记并记录每个标记左上角的像素位置。

· 在终端中安装 OpenCV 包 (https://docs.opencv.org/4.x/df/d65/tutorial_table_of_content_introduction.html) , 执行命令:

pip install opencv-python

pip3 install matplotlib

· 将Find-GCP GitHub到指定目录,命令:

git clone https://github.com/zsiki/Find-GCP.git

· 在 python 中运行以下脚本:

python /path/gcp_find.py -t ODM -i /path/gcp_coord.txt --epsg 3857 -o /path/gcp_list.txt `ls /path/photos_gcp/*.jpg`

就可以得到GCP的文件啦,见图八#无人机##无人机测量##GCP##无人机测绘操控员哪里考?##无人机摄影##大疆#

0 阅读:0

查理谈科技

简介:感谢大家的关注