stuarta0 / blender-photogrammetry

Blender addon for structure from motion tools to allow dense point cloud reconstruction from Blender's camera tracker
260 stars 25 forks source link

"unkown location" #14

Open jayrajkharvadi opened 3 years ago

jayrajkharvadi commented 3 years ago

Hello Stuart,

many thanks for creating this addon. I used for a couple of projects. Now, suddenly it has stopped working.

I have tried using it with Colmap, PMVS, visualSFM . I also tried using it across different versions of blender (2.8, 2.81, 2.90.1, 2.91 beta, 2.92 )

Specs : OS : windows 10 Processor : intel i7 7700 Graphics card : 1070 mobile.

Can you help me please? Console output below. Thanks, Jayraj

This is what is output in the console window.

Modules Installed (blender_photogrammetry) from 'D:\Softwares\Blender_Addons\blender-photogrammetry-1.1-windows.zip' into 'C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons' Problem importing photogrammetry module "openmvs": Attributes "importer" and/or "exporter" must be defined in module Problem importing photogrammetry module "pycache": Attributes "importer" and/or "exporter" must be defined in module Warning: class PHOTOGRAMMETRY_PT_preferences contains a property which should be an annotation! C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\blender_photogrammetry__init.py:184 assign as a type annotation: PHOTOGRAMMETRY_PT_preferences.collection_name Warning: class PHOTOGRAMMETRY_PG_master contains a property which should be an annotation! C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.92\scripts\addons\blender_photogrammetry\init__.py:184 assign as a type annotation: PHOTOGRAMMETRY_PG_master.input assign as a type annotation: PHOTOGRAMMETRY_PG_master.output assign as a type annotation: PHOTOGRAMMETRY_PG_master.in_blender assign as a type annotation: PHOTOGRAMMETRY_PG_master.in_bundler assign as a type annotation: PHOTOGRAMMETRY_PG_master.in_colmap assign as a type annotation: PHOTOGRAMMETRY_PG_master.in_imagemodeler assign as a type annotation: PHOTOGRAMMETRY_PG_master.in_meshroom assign as a type annotation: PHOTOGRAMMETRY_PG_master.in_visualsfm assign as a type annotation: PHOTOGRAMMETRY_PG_master.out_blender assign as a type annotation: PHOTOGRAMMETRY_PG_master.out_bundler assign as a type annotation: PHOTOGRAMMETRY_PG_master.out_colmap assign as a type annotation: PHOTOGRAMMETRY_PG_master.out_pmvs assign as a type annotation: PHOTOGRAMMETRY_PG_master.out_visualsfm [blender-photogrammetry] Platform: windows process photogrammetry in_blender out_colmap

stuarta0 commented 3 years ago

Was there any more console output? Usually <unknown location> is accompanied with a stack trace. e.g.

process photogrammetry
in_bundler
out_bundler
Traceback (most recent call last):
  File "/home/stuart/.config/blender/2.90/scripts/addons/blender_photogrammetry/__init__.py", line 88, in execute
    data = inputs[p.input].func(extract_props, scene=scene)
  File "/home/stuart/.config/blender/2.90/scripts/addons/blender_photogrammetry/bundler/extract.py", line 14, in extract
    with open(os.path.join(dirpath, 'bundle.out'), 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'bundler/bundle.out'

location: <unknown location>:-1
stuarta0 commented 3 years ago

I've made some code changes in the master branch for better feedback from known issues (e.g. properties with missing or incorrect values), and changes to get rid of the type annotation warnings on startup.

It may not relate directly to your issue, but is easier to identify unhandled exceptions.

jayrajkharvadi commented 3 years ago

Thanks for the response Stuart and apology for the late reply. I removed the previous installed version of the addon and I installed the latest version from master (1.2.0) on blender 2.90.1.

Hope this helps.

Here is the output from the window console.

_Modules Installed (blender-photogrammetry-master) from 'D:\Softwares\Blender_Addons\blender-photogrammetry\blender-photogrammetry-master_18Nov2020.zip' into 'C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons' module changed on disk: 'C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master\init.py' reloading... Problem importing photogrammetry module "openmvs": Attributes "importer" and/or "exporter" must be defined in module Problem importing photogrammetry module "pycache": Attributes "importer" and/or "exporter" must be defined in module [blender-photogrammetry] Platform: windows process photogrammetry in_blender out_colmap Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1001.jpg' Time: 00:03.27 (Saving: 00:01.66)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1006.jpg' Time: 00:13.39 (Saving: 00:12.19)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1011.jpg' Time: 00:02.48 (Saving: 00:01.05)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1016.jpg' Time: 00:02.39 (Saving: 00:01.24)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1021.jpg' Time: 00:02.47 (Saving: 00:01.06)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1026.jpg' Time: 00:02.34 (Saving: 00:01.04)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1031.jpg' Time: 00:02.34 (Saving: 00:01.05)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1036.jpg' Time: 00:02.32 (Saving: 00:01.05)

Saved: 'D:\Work\projects\t-rex\work\shot20_photogrammetryTest\renderoutput\photogrammetry\1041.jpg' Time: 00:02.27 (Saving: 00:01.08)

{'cameras': {}, 'resolution': (4096, 2304), 'trackers': {}} "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master\colmap\windows\colmap.exe" image_undistorter --image_path D:\Work\projects\t-rex\work\shot20_photogrammetryTest\colmap\images --input_path D:\Work\projects\t-rex\work\shot20_photogrammetryTest\colmap\sparse --output_path D:\Work\projects\t-rex\work\shot20_photogrammetryTest\colmap\dense --output_type COLMAP --max_image_size 500

============================================================================== Image undistortion

Writing reconstruction... Writing configuration... Writing scripts... Elapsed time: 0.000 [minutes] "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master\colmap\windows\colmap.exe" patch_match_stereo --workspace_path D:\Work\projects\t-rex\work\shot20_photogrammetryTest\colmap\dense Reading workspace... Reading configuration... Configuration has 0 problems... Elapsed time: 0.000 [minutes] "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master\colmap\windows\colmap.exe" stereo_fusion --workspace_path D:\Work\projects\t-rex\work\shot20_photogrammetryTest\colmap\dense --output_path D:\Work\projects\t-rex\work\shot20_photogrammetryTest\colmap\dense\fused.ply

StereoFusion::Options

max_image_size: -1 min_num_pixels: 5 max_num_pixels: 10000 max_traversal_depth: 100 max_reproj_error: 2 max_depth_error: 0.01 max_normal_error: 10 check_num_images: 50 cache_size: 32

Reading workspace... Reading configuration... Fusing image [1/0]Traceback (most recent call last): File "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master__init__.py", line 100, in execute outputs[p.output].func(load_props, data, scene=scene) File "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master\colmap\load.py", line 243, in load print(subprocess.list2cmdline(cmd_args)) Exception: Command failed, see system console for details

location: :-1

location: :-1 Error: Traceback (most recent call last): File "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master__init__.py", line 100, in execute outputs[p.output].func(load_props, data, scene=scene) File "C:\Users\J\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\blender-photogrammetry-master\colmap\load.py", line 243, in load print(subprocess.list2cmdline(cmd_args)) Exception: Command failed, see system console for details

location: :-1_

stuarta0 commented 3 years ago

Hi jayrajkharvadi - I've just had another look at your output. It looks like there wasn't a successful reconstruction from blender, so it eventually gets to a point in COLMAP that fails because it's working with 0 images: Fusing image [1/0] - i.e. no images.

Reading back through the log you'll see this output: {'cameras': {}, 'resolution': (4096, 2304), 'trackers': {}} meaning the data extracted from blender had no cameras or trackers. I should probably put a test case in for that scenario to inform the user that the input needs investigating. In this case, that you need to check that the motion tracker successfully solved the motion first.

stuarta0 commented 3 years ago

I also found this error in a project where COLMAP crashes mid-process. I need to investigate further as to why it's occurring.