计算相机模型 (实景映射)

摘要

通过原始影像的 EXIF 标头估计并优化外部和内部照相机模型。 之后,该模型将应用于镶嵌数据集且可以选择使用工具生成的高分辨率数字表面模型 (DSM) 实现更好的正射校正。

在外部与内部照相机模型均粗糙或未定义的情况下,这尤其适用于 UAV 和 UAS 影像。

使用情况

  • 典型的工作流可能包括运行计算照相机模型工具两次:第一次选中估计照相机模型参数并指定输出控制点表参数值,第二次选中优化照相机模型参数并将第一次运行的输出用作输入连接点表参数值。 此工作流的目的是首先快速估计照相机模型,然后创建更加准确的照相机模型。

  • 当将 GPS 位置精度参数设置为极高 GPS 精度时,将对影像的方向参数执行平差,GPS 测量结果将保持固定。 此外,指定此选项后,不需要地面控制点 (GCP)。 GCP 将在平差中标记为检测点。

参数

标注说明数据类型
输入镶嵌数据集

用于构建和计算照相机模型的镶嵌数据集。

Mosaic Dataset; Mosaic Layer
输出 DSM
(可选)

通过镶嵌数据集中已调整影像生成的 DSM 栅格数据集。 如果选中了应用校正,则此 DSM 将替代几何函数中的 DEM,以实现更好的正射校正。

Raster Dataset
GPS 位置精度
(可选)

指定输入图像的精度级别。 此工具将在邻域内搜索影像以计算匹配点并自动根据精度级别应用校正策略。

  • 高 GPS 精度GPS 精度介于 0 到 10 米之间,该工具可使用最多 4 x 3 张影像。
  • 中等 GPS 精度GPS 精度介于 10 到 20 米之间,该工具可使用最多 4 x 6 张影像。
  • 低 GPS 精度GPS 精度介于 20 到 50 米之间,该工具可使用最多 4 x 12 张图像。
  • 极低 GPS 精度GPS 精度大于 50 米,该工具可使用最多 4 x 20 张影像。
  • 极高 GPS 精度使用高精度差分 GPS(例如 RTK 或 PPK)收集影像。 在区域网平差期间,此选项将保持图像位置固定。
String
估计照相机模式
(可选)

指定是否通过将镶嵌数据集源分辨率乘以八来计算平差,从而估计照相机模型。 在此级别下计算平差可加快速度但会降低精度。

  • 选中 - 将估计照相机模型。 这是默认设置。
  • 未选中 - 将不会估计照相机模型。
Boolean
细化照相机模式
(可选)

指定是否通过以镶嵌数据集分辨率计算平差,从而优化照相机模型。 在此级别下计算平差可提供最精确的结果。

  • 选中 - 将通过以源分辨率计算平差,来优化照相机模型。 这是默认设置。
  • 未选中 - 将不会优化照相机模型。 使用此选项可加快速度,因此最好在不需要在源分辨率下执行计算时使用。
Boolean
应用校正
(可选)

指定是否将已计算的平差应用于输入镶嵌数据集。

  • 选中 - 将已计算的平差应用于输入镶嵌数据集。 虽然这不是必需项,但建议您指定此选项。 这是默认设置。
  • 未选中 - 不会将已计算的平差应用于输入镶嵌数据集。
Boolean
最大残差
(可选)

要将计算出的控制点保持为有效控制点时所容许的最大残差值。 默认值为 5。

Double
初始连接点分辨率
(可选)

估计照相机模型时用于生成连接点的分辨率因子。 默认值为 8,也就是源像素分辨率的八倍。

对于仅有较小要素差异的影像(例如农田),可以使用较低的值(例如 2)。

Double
输出控制点表
(可选)

可选的控制点要素类。

Feature Class
输出解决方案表
(可选)

可选的校正解决方案表。 该解决方案表包含校正误差的均方根 (RMS) 和解决方案矩阵。

Table
输出解决方案点表
(可选)

可选的解决方案点要素类。 该解决方案点是用于生成校正解决方案的最终控制点。

Feature Class
输出飞行路径
(可选)

可选的飞行路径线要素类。

Feature Class
最大区域重叠
(可选)

要将两个影像视为重复项的二者之间的重叠百分比。

例如,如果该值为 0.9,则意味着如果一个影像的 90% 被另一个影像覆盖,则系统会将其视为重复项并将其移除。

Double
最小控制点覆盖范围
(可选)

用于指示影像上的控制点覆盖范围的百分比。 如果覆盖范围小于最小百分比,则系统将无法解析该影像并将其移除。 默认值为 0。

Double
移除偏离带状区域的影像
(可选)

指定当影像偏离航线条带过远时,是否自动将这些影像移除。

  • 未选中 - 将不会被移除影像。 这是默认设置。
  • 选中 - 将移除偏离航线条带过远的影像。
Boolean
输入连接点表
(可选)

将用于计算照相机模型的连接点表。 如果未提供连接点表,则该工具将计算连接点并估计照相机模型。

Feature Class
其他选项
(可选)

用于校正引擎的其他选项。 许多选项的规格由数据提供商提供。

其中包括以下选项:

  • CalibrateF - 将校准传感器的焦距以用于局域网平差。 分配值 1 表示进行焦距校准,0 表示不进行校准。 默认值为 1。
  • CalibratePP -将校准区域网平差中的主点。 分配值 1 表示进行校准,0 表示不进行校准。 默认值为 1。
  • CalibrateP - 将校准区域网平差中的径向畸变参数。 分配值 1 表示进行校准,0 表示不进行校准。 默认值为 1。
  • CalibrateK - 将校准区域网平差中的切向畸变参数。 分配值 1 表示进行校准,0 表示不进行校准。 默认值为 1。
  • EstimateOPK - 将校准 Omega、Phi 和 Kappa 角,以定义图像坐标系与投影坐标系之间的旋转关系。 将其设置为 0,以使用无人机元数据中的方向角(滚动角、仰俯角和偏航角)作为区域网平差中的初始高度。 将其设置为 1,以估计方向角,并使用估计的方向角作为区域网平差中的初始高度。 默认值为 1。
    注:

    对于大多数 DJI 和 Skydio 照相机,建议将其设置为 0。

  • APrioriAccuracyX - 元数据提供的 x 坐标的精度。 单位必须与 PerspectiveX 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyY - 元数据提供的 y 坐标的精度。 单位必须与 PerspectiveY 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyZ - 元数据提供的 z 坐标的精度。 单位必须与 PerspectiveZ 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyXY - 元数据提供的平面坐标的精度。 单位必须与 PerspectiveX 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyXYZ - 元数据提供的 x 坐标的精度。 单位必须与 PerspectiveX 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyOmega - 机载位置定位系统 (POS) 提供的 Omega 角的精度。 其单位为十进制度。
  • APrioriAccuracyPhi - 机载位置定位系统 (POS) 提供的 Phi 角的精度。 其单位为十进制度。
  • APrioriAccuracyOmegaPhi 机载位置定位系统 (POS) 提供的 Omega 或 Phi 角的精度。 其单位为十进制度。
  • APrioriAccuracyKappa - 机载位置定位系统 (POS) 提供的 Kappa 角的精度。 其单位为十进制度。
  • ComputeImagePosteriorStd - 将计算平差后影像位置和方向的后验标准差。 分配值 1 表示进行计算,0 表示不进行计算。 默认值为 1。
  • ComputeSolutionPointPosteriorStd - 将计算平差后求解点的后验标准差。 分配值 1 表示进行计算,0 表示不进行计算。 默认值为 0。
  • rollingshutter - 使用卷帘快门模式处理 UAV 数据。 分配值 1 以使用卷帘快门模式处理 UAV 数据。 默认值为 0(不使用卷帘快门模式)。

Value Table

派生输出

标注说明数据类型
输出照相机模型

输出照相机模型。

Mosaic Dataset; Mosaic Layer

arcpy.rm.ComputeCameraModel(in_mosaic_dataset, {out_dsm}, {gps_accuracy}, {estimate}, {refine}, {apply_adjustment}, {maximum_residual}, {initial_tiepoint_resolution}, {out_control_points}, {out_solution_table}, {out_solution_point_table}, {out_flight_path}, {maximum_overlap}, {minimum_coverage}, {remove}, {in_control_points}, {options})
名称说明数据类型
in_mosaic_dataset

用于构建和计算照相机模型的镶嵌数据集。

Mosaic Dataset; Mosaic Layer
out_dsm
(可选)

通过镶嵌数据集中已调整影像生成的 DSM 栅格数据集。 如果 apply_adjustment 设置为 APPLY,则此 DSM 将替代几何函数中的 DEM,以实现更好的正射校正。

Raster Dataset
gps_accuracy
(可选)

指定输入图像的精度级别。 此工具将在邻域内搜索影像以计算匹配点并自动根据精度级别应用校正策略。

  • HIGHGPS 精度介于 0 到 10 米之间,该工具可使用最多 4 x 3 张影像。
  • MEDIUMGPS 精度介于 10 到 20 米之间,该工具可使用最多 4 x 6 张影像。
  • LOWGPS 精度介于 20 到 50 米之间,该工具可使用最多 4 x 12 张图像。
  • VERY_LOWGPS 精度大于 50 米,该工具可使用最多 4 x 20 张影像。
  • VERY_HIGH使用高精度差分 GPS(例如 RTK 或 PPK)收集影像。 在区域网平差期间,此选项将保持图像位置固定。
String
estimate
(可选)

指定是否通过将镶嵌数据集源分辨率乘以八来计算平差,从而估计照相机模型。 在此级别下计算平差可加快速度但会降低精度。

  • ESTIMATE将估计照相机模型。 这是默认设置。
  • NO_ESTIMATE将不会估计照相机模型。
Boolean
refine
(可选)

指定是否通过以镶嵌数据集分辨率计算平差,从而优化照相机模型。 在此级别下计算平差可提供最精确的结果。

  • REFINE将通过以源分辨率计算平差,来优化照相机模型。 这是默认设置。
  • NO_REFINE将不会优化照相机模型。 使用此选项可加快速度,因此最好在不需要在源分辨率下执行计算时使用。
Boolean
apply_adjustment
(可选)

指定是否将已计算的平差应用于输入镶嵌数据集。

  • APPLY将已计算的平差应用于输入镶嵌数据集。 虽然这不是必需项,但建议您指定此选项。 这是默认设置。
  • NO_APPLY不会将已计算的平差应用于输入镶嵌数据集。
Boolean
maximum_residual
(可选)

要将计算出的控制点保持为有效控制点时所容许的最大残差值。 默认值为 5。

Double
initial_tiepoint_resolution
(可选)

估计照相机模型时用于生成连接点的分辨率因子。 默认值为 8,也就是源像素分辨率的八倍。

对于仅有较小要素差异的影像(例如农田),可以使用较低的值(例如 2)。

Double
out_control_points
(可选)

可选的控制点要素类。

Feature Class
out_solution_table
(可选)

可选的校正解决方案表。 该解决方案表包含校正误差的均方根 (RMS) 和解决方案矩阵。

Table
out_solution_point_table
(可选)

可选的解决方案点要素类。 该解决方案点是用于生成校正解决方案的最终控制点。

Feature Class
out_flight_path
(可选)

可选的飞行路径线要素类。

Feature Class
maximum_overlap
(可选)

要将两个影像视为重复项的二者之间的重叠百分比。

例如,如果该值为 0.9,则意味着如果一个影像的 90% 被另一个影像覆盖,则系统会将其视为重复项并将其移除。

Double
minimum_coverage
(可选)

用于指示影像上的控制点覆盖范围的百分比。 如果覆盖范围小于最小百分比,则系统将无法解析该影像并将其移除。 默认值为 0。

Double
remove
(可选)

指定当影像偏离航线条带过远时,是否自动将这些影像移除。

  • NO_REMOVE不会移除图像。 这是默认设置。
  • REMOVE将移除偏离航线条带过远的影像。
Boolean
in_control_points
(可选)

将用于计算照相机模型的连接点表。 如果未提供连接点表,则该工具将计算连接点并估计照相机模型。

Feature Class
options
[options,...]
(可选)

用于校正引擎的其他选项。 许多选项的规格由数据提供商提供。

其中包括以下选项:

  • CalibrateF - 将校准传感器的焦距以用于局域网平差。 分配值 1 表示进行焦距校准,0 表示不进行校准。 默认值为 1。
  • CalibratePP -将校准区域网平差中的主点。 分配值 1 表示进行校准,0 表示不进行校准。 默认值为 1。
  • CalibrateP - 将校准区域网平差中的径向畸变参数。 分配值 1 表示进行校准,0 表示不进行校准。 默认值为 1。
  • CalibrateK - 将校准区域网平差中的切向畸变参数。 分配值 1 表示进行校准,0 表示不进行校准。 默认值为 1。
  • EstimateOPK - 将校准 Omega、Phi 和 Kappa 角,以定义图像坐标系与投影坐标系之间的旋转关系。 将其设置为 0,以使用无人机元数据中的方向角(滚动角、仰俯角和偏航角)作为区域网平差中的初始高度。 将其设置为 1,以估计方向角,并使用估计的方向角作为区域网平差中的初始高度。 默认值为 1。
    注:

    对于大多数 DJI 和 Skydio 照相机,建议将其设置为 0。

  • APrioriAccuracyX - 元数据提供的 x 坐标的精度。 单位必须与 PerspectiveX 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyY - 元数据提供的 y 坐标的精度。 单位必须与 PerspectiveY 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyZ - 元数据提供的 z 坐标的精度。 单位必须与 PerspectiveZ 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyXY - 元数据提供的平面坐标的精度。 单位必须与 PerspectiveX 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyXYZ - 元数据提供的 x 坐标的精度。 单位必须与 PerspectiveX 匹配。 对于大多数 UAV 数据,不建议使用此选项。
  • APrioriAccuracyOmega - 机载位置定位系统 (POS) 提供的 Omega 角的精度。 其单位为十进制度。
  • APrioriAccuracyPhi - 机载位置定位系统 (POS) 提供的 Phi 角的精度。 其单位为十进制度。
  • APrioriAccuracyOmegaPhi 机载位置定位系统 (POS) 提供的 Omega 或 Phi 角的精度。 其单位为十进制度。
  • APrioriAccuracyKappa - 机载位置定位系统 (POS) 提供的 Kappa 角的精度。 其单位为十进制度。
  • ComputeImagePosteriorStd - 将计算平差后影像位置和方向的后验标准差。 分配值 1 表示进行计算,0 表示不进行计算。 默认值为 1。
  • ComputeSolutionPointPosteriorStd - 将计算平差后求解点的后验标准差。 分配值 1 表示进行计算,0 表示不进行计算。 默认值为 0。
  • rollingshutter - 使用卷帘快门模式处理 UAV 数据。 分配值 1 以使用卷帘快门模式处理 UAV 数据。 默认值为 0(不使用卷帘快门模式)。

Value Table

派生输出

名称说明数据类型
out_mosaic_dataset

输出照相机模型。

Mosaic Dataset; Mosaic Layer

代码示例

ComputeCameraModel 示例 1(Python 窗口)

这是 ComputeCameraModel 函数的一个 Python 示例。

import arcpy 

arcpy.ComputeCameraModel_rm("c:\data\fgdb.gdb\md", "output_DSM.tif", 
                                    "HIGH", "ESTIMATE", "REFINE", "APPLY", "5")

许可信息

  • Basic: 否
  • Standard: 需要 ArcGIS Reality for ArcGIS Pro
  • Advanced: 是

相关主题