Ligo04 / TwinTex

Official Implementation of TwinTex: Geometry-aware Texture Generation for Abstracted 3D Architectural Models(SIGGRAPH ASIA 2023)
https://vcc.tech/research/2023/TwinTex
23 stars 5 forks source link

在一些输入下, view selection步骤会卡死. #9

Open algoriiiiithm opened 6 days ago

algoriiiiithm commented 6 days ago

作者您好, 经过我的多次测试, 我发现在一些输入下程序会卡死. 例如当我在附件中的test1上运行时, 执行view selection步骤会卡死. log如下:

------------------ 0. Loading Input Files --------------
Start generating texture views
    Scan the scene folder: C:\Users\andy\Downloads\test1\scene\
    Create TextureView from CameraInfo and image

0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
    Finish views generation successfully
8 vertices and 12 facets are loaded from structured mesh C:\Users\andy\Downloads\test1\Mesh\simplify_mesh.ply

26 vertices and 48 facets are loaded from subdivided mesh C:\Users\andy\Downloads\test1\Mesh\simplify_mesh_sub.ply

8 vertices and 12 facets are loaded from original mesh C:\Users\andy\Downloads\test1\Mesh\original_mesh.ply

obj output path: C:\Users\andy\Downloads\test1\Results\camera_pos\point.obj
------------------0. Initialization Finised--------------

------------------ 1. Preprocessing --------------
initialization: compute mesh facet information
    start doing plane detection
plane 0 has 2 facets
plane 1 has 2 facets
plane 2 has 2 facets
plane 3 has 2 facets
plane 4 has 2 facets
plane 5 has 2 facets
finish plane detection
    start doing plane detection
plane 0 has 2 facets
plane 1 has 2 facets
plane 2 has 2 facets
plane 3 has 2 facets
plane 4 has 2 facets
plane 5 has 2 facets
finish plane detection
start doing polygon detection
    saving polygon to C:\Users\andy\Downloads\test1\Results\polygon.ply
finish polygon detection
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_0_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_1_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_2_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_3_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_4_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_5_poly_0.ply
------------------ 2. View Selection --------------
start plane visibility detection
    start extract surface objects
    finish extract surface objects
The number of the texture_views: 100

compute accept_distance_plane time = 9.5e-07min

view filtering time = 1.88333e-06min
After view filtering, the number of visible images of the plane0: 45
After view filtering, the number of visible images of the plane1: 0
After view filtering, the number of visible images of the plane2: 43
After view filtering, the number of visible images of the plane3: 100
After view filtering, the number of visible images of the plane4: 43
After view filtering, the number of visible images of the plane5: 45

compute accept_distance_facet time = 8.66667e-07min
After visibility detecting, the number of candidate images of the plane0: 37
After visibility detecting, the number of candidate images of the plane1: 0
After visibility detecting, the number of candidate images of the plane2: 37
After visibility detecting, the number of candidate images of the plane3: 100
After visibility detecting, the number of candidate images of the plane4: 37
After visibility detecting, the number of candidate images of the plane5: 37

visibility detection time = 8.66667e-07min 

但同时, 在附件中的test2上运行时, view selectionimage stitching步骤均能在合理时间内结束运行. test1test2scene部分是完全一致的, mesh部分的模型则非常相似, 仅仅是顶点位置不同(文件的精确到字节数的大小都是一致的). 诚挚希望作者能进行fix, 或者详细说明满足什么条件的模型(包括original, simplify和simplify_sub)是能够正常运行的, 万分感激. 附件: data.zip.

Ligo04 commented 3 days ago

作者您好, 经过我的多次测试, 我发现在一些输入下程序会卡死. 例如当我在附件中的test1上运行时, 执行view selection步骤会卡死. log如下:

------------------ 0. Loading Input Files --------------
Start generating texture views
  Scan the scene folder: C:\Users\andy\Downloads\test1\scene\
  Create TextureView from CameraInfo and image

0%   10   20   30   40   50   60   70   80   90   100%
|----|----|----|----|----|----|----|----|----|----|
***************************************************
  Finish views generation successfully
8 vertices and 12 facets are loaded from structured mesh C:\Users\andy\Downloads\test1\Mesh\simplify_mesh.ply

26 vertices and 48 facets are loaded from subdivided mesh C:\Users\andy\Downloads\test1\Mesh\simplify_mesh_sub.ply

8 vertices and 12 facets are loaded from original mesh C:\Users\andy\Downloads\test1\Mesh\original_mesh.ply

obj output path: C:\Users\andy\Downloads\test1\Results\camera_pos\point.obj
------------------0. Initialization Finised--------------

------------------ 1. Preprocessing --------------
initialization: compute mesh facet information
  start doing plane detection
plane 0 has 2 facets
plane 1 has 2 facets
plane 2 has 2 facets
plane 3 has 2 facets
plane 4 has 2 facets
plane 5 has 2 facets
finish plane detection
  start doing plane detection
plane 0 has 2 facets
plane 1 has 2 facets
plane 2 has 2 facets
plane 3 has 2 facets
plane 4 has 2 facets
plane 5 has 2 facets
finish plane detection
start doing polygon detection
  saving polygon to C:\Users\andy\Downloads\test1\Results\polygon.ply
finish polygon detection
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_0_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_1_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_2_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_3_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_4_poly_0.ply
Saving IC::Polyhedron to C:\Users\andy\Downloads\test1\Results\polygons\plane_5_poly_0.ply
------------------ 2. View Selection --------------
start plane visibility detection
  start extract surface objects
  finish extract surface objects
The number of the texture_views: 100

compute accept_distance_plane time = 9.5e-07min

view filtering time = 1.88333e-06min
After view filtering, the number of visible images of the plane0: 45
After view filtering, the number of visible images of the plane1: 0
After view filtering, the number of visible images of the plane2: 43
After view filtering, the number of visible images of the plane3: 100
After view filtering, the number of visible images of the plane4: 43
After view filtering, the number of visible images of the plane5: 45

compute accept_distance_facet time = 8.66667e-07min
After visibility detecting, the number of candidate images of the plane0: 37
After visibility detecting, the number of candidate images of the plane1: 0
After visibility detecting, the number of candidate images of the plane2: 37
After visibility detecting, the number of candidate images of the plane3: 100
After visibility detecting, the number of candidate images of the plane4: 37
After visibility detecting, the number of candidate images of the plane5: 37

visibility detection time = 8.66667e-07min 

但同时, 在附件中的test2上运行时, view selectionimage stitching步骤均能在合理时间内结束运行. test1test2scene部分是完全一致的, mesh部分的模型则非常相似, 仅仅是顶点位置不同(文件的精确到字节数的大小都是一致的). 诚挚希望作者能进行fix, 或者详细说明满足什么条件的模型(包括original, simplify和simplify_sub)是能够正常运行的, 万分感激. 附件: data.zip.

噢,这是个BUG,你可以尝试下最新的版本,我测试下来可以运行;不过你的数据集的相机参数貌似有问题,我们的输入坐标系与colmap的坐标系是一致的