0

我对 Autodesk Forge Reality Capture 的使用

我正在使用Autodesk Forge Reality Capture创建小型目标对象的精确 3D 模型。然后在 CAD 中进一步调整这些模型,以进行最终的3D 打印。

我的目标:我正在尝试通过提供具有已知标记 (GCP) 位置的调查文件来提高我的 3D 模型的精度,并且我已经在此处查阅了 API 文档。

我的问题:

  1. 给定我的(地理)任意原点成像应用程序,要指定哪个坐标系字符串?
  2. 有没有办法在<gpc> 标签中提供笛卡尔坐标位置,如果有,语法是什么?
  3. 何时应将位置定义为GPC 点,何时应将位置定义为“检查点”?

我向 Forge 提供调查文件的动机

在不提供调查信息的情况下,我发现生成的Forge 模型明显失真,即使我使用以前通过 RECAP 提供了良好模型的图像也是如此。

当我之前使用 RECAP 软件建模时,我最初有类似的扭曲模型,直到我向 RECAP 提供了我的标记位置。在我向 RECAP 提供精确的标记位置后,我得到了出色的模型。

所以我希望如果我可以向 Forge 提供标记位置,我将再次获得非常准确的输出模型。

但是,因为我的应用程序不是地理的,所以我想根据我自己任意定义的原点的球坐标直角 坐标向 Forge 提供我的标记位置。

我可以提供以毫米为单位的距离和以度为单位的角度

我无法从文档中找出要提供哪个坐标系名称

如果我知道哪个坐标系适合以毫米为单位测量的高度,我相信我可能可以在< gcp > 标签中提供来自我的任意原点的球面坐标。 但我无法确定我需要提供 哪个坐标系字符串。

我看到文档中提到的已知坐标系字符串的列表很长,但它们只是标签,没有解释它们是什么。

我可以提供笛卡尔坐标,但我不知道哪个坐标系字符串适合。即使我这样做了,示例中的< gcp > 标签也没有说明任何x= y= z= 格式。

有人可以向我提供有关在我的申请中使用调查文件的更多信息吗?

关于我的设置

我有20 多张来自受控目标成像区域周围已知有利位置的图像。

在目标区域周围,我有基准标记点,每个图像中至少有 3 个标记可见,而且通常更多。

对于每个标记,我都知道该标记出现在哪些图像中,以及它位于哪个xpixel 和 ypixel 位置

顺便说一句,在 RECAP 中,这些位置是根据帧的百分比定义的,而不是像素位置。这比单个像素具有更高的精度。 这不再可能了吗?

我还知道每个标记在 3-space 中的物理位置,相对于我的成像区域中心的任意原点 (0,0,0)。 我有以毫米为单位的笛卡尔坐标以及球坐标形式的这些位置。

4

1 回答 1

0

GCP(地面控制点)和检查点可以通过在定义文件中设置coordinatesystem属性的值以任意原点的笛卡尔坐标指定。XYZ

下面是定义三个 GCP 的示例 XML:

<?xml version="1.0" encoding="UTF-8"?>
<surveydata coordinatesystem="XYZ" description="Local coordinatesystem; meters" epsgcode="0">
 <markers>
   <marker id="0" name="1">
     <images>
       <image name="IMG_0138.JPG" xpixel="2051" ypixel="946"/>
       <image name="IMG_0139.JPG" xpixel="2030" ypixel="1366"/>
       <image name="IMG_0153.JPG" xpixel="2659" ypixel="57"/>
     </images>
     <gcp x="4.897" y="-18.174" z="-1.964" checkpoint="false"/>
   </marker>
   <marker id="1" name="10">
     <images>
       <image name="IMG_0143.JPG" xpixel="2638" ypixel="1562"/>
       <image name="IMG_0153.JPG" xpixel="1996" ypixel="1515"/>
       <image name="IMG_0154.JPG" xpixel="1981" ypixel="1951"/>
     </images>
     <gcp x="10.017" y="-43.106" z="-1.121" checkpoint="false"/>
   </marker>
   <marker id="2" name="11">
     <images>
       <image name="IMG_0127.JPG" xpixel="1774" ypixel="1441"/>
       <image name="IMG_0130.JPG" xpixel="1753" ypixel="2694"/>
       <image name="IMG_0132.JPG" xpixel="1288" ypixel="33"/>
       <image name="IMG_0133.JPG" xpixel="1435" ypixel="415"/>
     </images>
     <gcp x="-2.481" y="9.208" z="-1.922" checkpoint="false"/>
   </marker>
 </markers>
</surveydata>

位置应定义为 GCP 点。检查点 ( checkpoint="true") 可用于根据已知位置验证重建点的位置。每个检查点的偏差将在项目报告中列出。

请注意,仅航空场景支持 GCP(scenetype=aerial必须为POST /photoscene端点指定)。

不支持xpixel和值的子像素位置。ypixel

于 2019-07-30T09:03:26.877 回答