kitware / telesculptor Goto Github PK
View Code? Open in Web Editor NEWTeleSculptor: Aerial Photogrammetry Application powered by KWIVER
License: Other
TeleSculptor: Aerial Photogrammetry Application powered by KWIVER
License: Other
fletch-build/build/src/VTK/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx, line 621
vtkXOpenGLRenderWindow (0x2619e90): Cannot create GLX context. Aborting.
What is the approximate size of the files downloaded while building?
My evironment:
Boost 1.58 ,
Eigen 3.25 ,
opencv 2.4.11 (the latest version 3.0 can't work with maptk, because it doesn't have Algorithm::_create() ),
proj 4.91 ,
VXL 1.17.
OS: Ubuntu 14.04.
I build MAP-Tk successfully, and have enabled test in CMake, and passed the test.
But when I run the tools in MAP-Tk, I have met some problems.
Thanks for Matt's help, I got the solution.
When I ran maptk_track_features , I can't get the output.
This is the exception I met:
stedraw@stedraw-PC:~/maptk/maptk/bin$ ./maptk_track_features -c track_feature.conf
File parsed! Contained 102 k/v entries.
OpenCV Error: Bad argument (Unknown matcher name) in create, file /home/stedraw/opencv-2.4.11/modules/features2d/src/matchers.cpp, line 497
[---] Ignore the above error message, it will be handled. OpenCV is silly.
OpenCV Error: Bad argument (Unknown matcher name) in create, file /home/stedraw/opencv-2.4.11/modules/features2d/src/matchers.cpp, line 497
[---] Ignore the above error message, it will be handled. OpenCV is silly.
Exception caught: Path does not exist: ""
solution(from Matt's letter):
This is most likely related to loading image files. Your config file should have “image_list_file” set to a path to a text file in which each line in the file is a path to one image to load (i.e. each frame of video). What is the contents of your image list file? Is it empty or does it have a blank line?
So I checked my "image_list_file.txt", and delete the blank line at the last of my file. Then it works, and I could get the feature tracks file.
See issue #75 for the other issue that was originally described here
Thanks for Matt's help. And if you have met some problems about MAP-Tk, you can join the kwiver-users mailing list (see the README.md in MAP-Tk)and post question there. (^_^)
Hello,
I am using commit 26c3a2c of the master branch (with an added fix to properly write out the tracks.txt file in track_features.cxx).
An exception is thrown when running maptk_bundle_adjust_tracks on the example dataset kwiver_wami_set_1 (Exception caught: _Map_base::at). It looks like the exception occurs when it tries to set the local origin while initializing the cameras with metadata. Here is a rough trace to the exception:
Bundle_adjust_tracks.cxx:604 (maptk_main) -> bundle_adjust_tracks.cxx:382 (load_input_cameras) -> local_geo_cs.cxx:211 (initialize_cameras_with_metadata) -> local_geo_cs.cxx:82 (set_origin)
Here are the last few lines of output before the exception occurred:
2017-08-22 08:10:16.608 DEBUG config_block_io.cxx(307): Read config file "./maptk_bundle_adjust_tracks.conf"
2017-08-22 08:10:16.747 INFO bundle_adjust_tracks.cxx(514): loading track file: results/tracks.txt
2017-08-22 08:10:31.355 DEBUG bundle_adjust_tracks.cxx(517): loaded 104869 tracks
2017-08-22 08:10:39.903 DEBUG bundle_adjust_tracks.cxx(531): filtered down to 5449 long tracks
track filtering - elapsed time: 8.64224 sec
2017-08-22 08:10:40.12 INFO bundle_adjust_tracks.cxx(558): Reading Video
2017-08-22 08:10:40.771 ERROR bundle_adjust_tracks.cxx(911): Exception caught: _Map_base::at
Thanks in advance for any help fixing this issue!
Hello,
I am using openSUSE. I want to build VTK and TeleSculptor.
I build VTK 9.0.1 with these flags.
-DVTK_BUILD_ALL_MODULES=OFF
-DVTK_BUILD_DOCUMENTATION=OFF
-DVTK_BUILD_EXAMPLES=OFF
-DBUILD_SHARED_LIBS=ON
-DOpenGL_GL_PREFERENCE=GLVND
-DVTK_USE_TK=OFF
-DVTK_WRAP_JAVA=OFF
-DVTK_WRAP_PYTHON=ON
-DCMAKE_BUILD_TYPE=Release
-DVTK_PYTHON_VERSION:STRING=3
And TeleSculptor with this.
I turn off TELESCULPTOR_SUPERBUILD because it is trying to connect to network to download extra stuff. I am building on Flatpak sandbox with no network.
-DTELESCULPTOR_SUPERBUILD=OFF
-DCMAKE_BUILD_TYPE:STRING=Release
-DTELESCULPTOR_ENABLE_MANUALS=OFF
-DTELESCULPTOR_ENABLE_TESTING=OFF
I got this error.
CMake Error at gui/CMakeLists.txt:17 (find_package):
Found package configuration file:
/app/lib/cmake/vtk-9.0/vtk-config.cmake
but it set VTK_FOUND to FALSE so package "VTK" is considered to be NOT
FOUND. Reason given by package:
Could not find the VTK package with the following required components:
GUISupportQt.
-- Configuring incomplete, errors occurred!
New functionality allows us to select correspondences between a 3D mesh and an image and compute a camera based on this. Currently, this image is visualized projected onto the ground plane. This is not ideal, and it would be better to project the image onto the mesh directly. Additionally, it would be best to do this considering the lens distortion.
In GCP edit mode (while not in CRP edit mode) I can CTRL click to add green/white GCPs in the Camera View even if there is no camera on the frame. These points disappear and don't come back when changing frames. The way it should work is that I can add GCPs in the Camera View only if a camera model exists, and these point are mapped back into the WorldView and GCP panel and are real 3D GCPs. I should be able to add CRPs in camera view without a camera when in CRP edit mode, but not GCPs in GCP edit mode.
The goal of this task is to expose more OpenCV camera intrinsics constraint parameters to the KWIVER configs so we can edit them in config files. For example, specifying which intrinsic parameters to estimate and which to keep fixed. Also possibly providing an initial guess of intrinsic parameters.
In the GCP panel, each GCP should be expandable if it has 2D constraints on any frame. The expansion should show the list of frame numbers that have a 2D constraint. Clicking (or maybe double clicking) on those frame numbers should set the active frame to that frame number.
As I understand it, there is currently an all-or-nothing option to couple the intrinsics of your cameras. There was interest in having a menu to select which subset of cameras should have identical intrinsics.
**kwiver_fmv_set_1 example with ubuntu:
After successfully completed the maptk_track_features solution, maptk_bundle_adjust_tracks stops after next:**
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): Configuration Failure: invalid option
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): sba_impl:type = ceres
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): valid options are
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): hierarchical
2016-11-28 08:20:54.631 WARN algorithm.cxx(237): vxl
2016-11-28 08:20:54.631 DEBUG hierarchical_bundle_adjust.cxx(258): Config Check Fail: sba_impl configuration invalid.
2016-11-28 08:20:54.631 WARN algorithm.cxx(247): Configuration Failure Backtrace: bundle_adjuster:hierarchical
2016-11-28 08:20:54.631 ERROR bundle_adjust_tracks.cxx(274): Config Check Fail: Failed config check in bundle_adjuster algorithm.
2016-11-28 08:20:54.631 ERROR bundle_adjust_tracks.cxx(703): Configuration not valid.
I have built maptk successfully, but when I tried on s sequence of aerial images, failed to get result. So how to prepare the test data? or do you have sample data to share? Thanks!
Trying to call "Fuse Depth Maps" with an AMD GPU (Radeon RX 560) fails with
Tool execution failes: GPU memory exception: CUDA driver version is insufficient for CUDA runtime version, thrown from integrate_depth_maps.cu:228
Any chance to get TeleSculptor working on non-Nvidia graphics?
Hello,
I am trying to build Telesculptor for Linux Flatpak.
I got the error below.
I build Kwiver 1.5.1 with cmake with the flags,
-DCMAKE_BUILD_TYPE:STRING=Release
-DKWIVER_ENABLE_SPROKIT=ON
-DKWIVER_ENABLE_C_BINDINGS=ON
-DKWIVER_ENABLE_TOOLS=ON
Build qtExtensions master branch with cmake with default flag. https://github.com/Kitware/qtextensions
Build VTK 9.0.1 with cmake with these flags,
-DBUILD_SHARED_LIBS=ON
-DOpenGL_GL_PREFERENCE=GLVND
-DCMAKE_BUILD_TYPE=Release
-DVTK_PYTHON_VERSION:STRING=3
-DVTK_GROUP_ENABLE_Qt=YES
-DVTK_MODULE_ENABLE_VTK_GUISupportQt=YES
-DModule_vtkGUISupportQtOpenGL:BOOL=ON
And finally Telesculptor 1.1.1 with Cmake.
-DTELESCULPTOR_SUPERBUILD=OFF
-DCMAKE_BUILD_TYPE:STRING=Release
-DTELESCULPTOR_ENABLE_MANUALS=OFF
-DTELESCULPTOR_ENABLE_TESTING=OFF
Could this issue be relate to this?
Kitware/kwiver#517
I got this error.
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for kwiver in :
-- Current path: '/app/lib/cmake/kwiver;/run/build/telesculptor/CMake'
-- Import CMake future from '/app/lib/cmake/kwiver/future'
-- Import CMake future '3.10'
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen missing components: dot
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
-- Performing Test has_compiler_flag--std=cplusplus11
-- Performing Test has_compiler_flag--std=cplusplus11 - Success
-- Performing Test has_compiler_flag--pthread
-- Performing Test has_compiler_flag--pthread - Success
-- Performing Test has_compiler_flag--fvisibility=hidden
-- Performing Test has_compiler_flag--fvisibility=hidden - Success
-- Performing Test has_compiler_flag--Wall
-- Performing Test has_compiler_flag--Wall - Success
-- Performing Test has_compiler_flag--Werror=return-type
-- Performing Test has_compiler_flag--Werror=return-type - Success
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor
-- Performing Test has_compiler_flag--Werror=non-virtual-dtor - Success
-- Performing Test has_compiler_flag--Werror=narrowing
-- Performing Test has_compiler_flag--Werror=narrowing - Success
-- Performing Test has_compiler_flag--Werror=init-self
-- Performing Test has_compiler_flag--Werror=init-self - Success
-- Performing Test has_compiler_flag--Werror=reorder
-- Performing Test has_compiler_flag--Werror=reorder - Success
-- Performing Test has_compiler_flag--Werror=overloaded-virtual
-- Performing Test has_compiler_flag--Werror=overloaded-virtual - Success
-- Performing Test has_compiler_flag--Werror=cast-qual
-- Performing Test has_compiler_flag--Werror=cast-qual - Success
-- Performing Test has_compiler_flag--Werror=vla
-- Performing Test has_compiler_flag--Werror=vla - Success
-- Performing Test has_compiler_flag--Wno-unknown-pragmas
-- Performing Test has_compiler_flag--Wno-unknown-pragmas - Success
-- Performing Test has_compiler_flag--Wl,--no-undefined
-- Performing Test has_compiler_flag--Wl,--no-undefined - Success
-- Performing Test has_compiler_flag--Wl,--copy-dt-needed-entries
-- Performing Test has_compiler_flag--Wl,--copy-dt-needed-entries - Success
-- checking CPP_AUTO auto.cxx
-- checking CPP_CONSTEXPR constexpr.cxx
-- checking CPP_DEFAULT_CTOR default-ctor.cxx
-- checking CPP_FINAL final.cxx
-- checking CPP_NOEXCEPT throw-noexcept.cxx
-- checking CPP_RANGE_FOR range-for.cxx
-- checking STD_CHRONO std_chrono.cxx
-- checking STD_NULLPTR null_ptr.cxx
-- checking STD_REGEX std_regex.cxx
-- Found Git: /usr/bin/git (found version "2.30.0")
-- [configure-version.h] Creating configure command
-- Making library "maptk"
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- [configure-gui_align] Creating configure command
-- [configure-gui_bundle_adjust] Creating configure command
-- [configure-gui_compute_depth] Creating configure command
-- [configure-gui_default_camera_intrinsics] Creating configure command
-- [configure-gui_filter_tracks] Creating configure command
-- [configure-gui_frame_image_writer] Creating configure command
-- [configure-gui_image_list_reader] Creating configure command
-- [configure-gui_image_video_reader] Creating configure command
-- [configure-gui_initialize] Creating configure command
-- [configure-gui_integrate_depth_maps] Creating configure command
-- [configure-gui_keyframe_image_writer] Creating configure command
-- [configure-gui_mask_list_reader] Creating configure command
-- [configure-gui_mask_video_reader] Creating configure command
-- [configure-gui_st_estimator] Creating configure command
-- [configure-gui_track_features] Creating configure command
-- [configure-gui_triangulate] Creating configure command
-- [configure-track_features_embedded_debug] Creating configure command
-- [configure-log4cplus] Creating configure command
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkFiltersSources' component is 'FiltersSources'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkGUISupportQt' component is 'GUISupportQt'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkIOGeometry' component is 'IOGeometry'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkIOImage' component is 'IOImage'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkIOPLY' component is 'IOPLY'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkIOXML' component is 'IOXML'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkImagingCore' component is 'ImagingCore'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkInteractionStyle' component is 'InteractionStyle'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkInteractionWidgets' component is
'InteractionWidgets'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkRenderingAnnotation' component is
'RenderingAnnotation'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-config.cmake:64 (message):
The new name for the 'vtkRenderingFreeType' component is
'RenderingFreeType'
Call Stack (most recent call first):
gui/CMakeLists.txt:17 (find_package)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so found components: OpenGL GLX
CMake Deprecation Warning at /app/lib/cmake/vtk-9.0/vtk-use-file-deprecated.cmake:1 (message):
The `VTK_USE_FILE` is no longer used starting with 8.90.
Call Stack (most recent call first):
gui/CMakeLists.txt:35 (include)
-- File: 'ACKNOWLEDGMENTS'
-- File: 'BUILDINFO'
-- File: 'LICENSE'
-- [configure-telesculptor-config] Creating configure command
-- [configure-telesculptor-install-config] Creating configure command
-- Configuring done
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "maptk_detect_and_describe" links to target
"kwiver::kwiver_algo_core" but the target was not found. Perhaps a
find_package() call is missing for an IMPORTED target, or an ALIAS target
is missing?
Call Stack (most recent call first):
tools/CMakeLists.txt:8 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "maptk_track_features" links to target "kwiver::kwiver_algo_core"
but the target was not found. Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
tools/CMakeLists.txt:17 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "maptk_analyze_tracks" links to target "kwiver::kwiver_algo_core"
but the target was not found. Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
tools/CMakeLists.txt:56 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "maptk_match_matrix" links to target "kwiver::kwiver_algo_core" but
the target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
tools/CMakeLists.txt:26 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "maptk_bundle_adjust_tracks" links to target
"kwiver::kwiver_algo_core" but the target was not found. Perhaps a
find_package() call is missing for an IMPORTED target, or an ALIAS target
is missing?
Call Stack (most recent call first):
tools/CMakeLists.txt:40 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "maptk_apply_gcp" links to target "kwiver::kwiver_algo_core" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
tools/CMakeLists.txt:48 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "TeleSculptor" links to target "kwiver::kwiver_adapter" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
gui/CMakeLists.txt:199 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "TeleSculptor" links to target "kwiver::kwiver_algo_core" but the
target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
Call Stack (most recent call first):
gui/CMakeLists.txt:199 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "TeleSculptor" links to target "Boost::chrono" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
gui/CMakeLists.txt:199 (kwiver_add_executable)
CMake Error at /app/lib/cmake/kwiver/utils/kwiver-utils-targets.cmake:182 (add_executable):
Target "TeleSculptor" links to target "Boost::system" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
gui/CMakeLists.txt:199 (kwiver_add_executable)
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
Error: module telesculptor: Child process exited with code 1
If we load a mesh that is actually a point cloud, VTK should detect that there are no faces and switch the rendering mode to draw colored points
After running 'make' I get the following error
--- LOG END --- error: downloading 'http://download.qt->project.org/official_releases/qt/5.11/5.11.2/single/qt-everywhere-src-5.11.2.tar.xz' failed status_code: 22 status_string: "HTTP response code said error" log: --- LOG BEGIN --- Trying 77.86.229.90:80...
It seems like that Qt version 5.11.2 cannot be found on: http://download.qt-project.org/official_releases/qt/
Can you please update the Qt version to the newest versions are 5.12 or 5.13
Thanks a lot.
The mesh coloration only works when we compute a mesh and does not work on meshes that have been loaded in from a file.
Can you direct me to find the link for downloading "telesculptor-1.0.0-windows-amd64.exe" file as presented in user manual?
Thank you
This issue was reported by @bigdraw on the kwiver-users mailing list. This issues has been split out from issue #74
After using maptk_track_features, I got a feature tracks file.
And then I want to use maptk_bundle_adjust_tracks to take feature tracks and produces cameras and 3D points (PLY file).And I met a problem.This problem goes as follows:
stedraw@stedraw-PC:~/maptk/maptk/bin$ ./maptk_bundle_adjust_tracks -c adjust.conf
File parsed! Contained 38 k/v entries.
loading track file: ./output_tracks.txt
loaded 36447 tracks
filtered down to 0 long tracks
track filtering: 0.010000 sec CPU, 0.009851 sec wall
Initializing cameras and landmarks: 0.000000 sec CPU, 0.000008 sec wall
Segmentation fault (core dumped)
solution(from Matt's letter):
In this case the problem is likely related to the “min_track_length” parameter in the config file. The bundle adjust tool currently filters tracks shorter than “min_track_length” before running bundle adjustment. It looks like you don’t have any tracks longer than the current value of “min_track_length”. You could set this parameter to as low 2 to use all the relevant tracks. Setting it to 3 might be a little more robust. The problem with these small values is that you will generally be using a lot more data than you really need to optimize the cameras. It’s better to use a more minimal set of good long tracks first, and then go back and triangulate additional features later if desired.
The proper setting for the “min_track_length" parameter is very dependent on your data. If you have a slow moving camera and/or high frame rate you may end of with very long tracks and want this value to be high. If your scene changes more rapidly from frame to frame you need this value to be shorter. We are working on making this smarter so that it adapts to the data. For now, you’ll have to play with the parameter to find a value that suits your problem.
The fact that the executable seg faults when it gets 0 tracks should be considered a bug. It should handle this case more gracefully and exit cleanly.
So I modified my "adjust.conf", set the "min_track_length" parameter to a lower value, and got the right output.
TeleSculptor is currently configured to use ORB features by default and it saves them fine. It can be configured to use other features such as SURF in the track_features.conf
file by setting descriptor_type := ocv_SURF
. However, if descriptor_binary := false
is not also set, the following runtime error will be thrown.
OpenCV Error: Unsupported format or combination of formats (type=5
) in buildIndex_, file <fletch path>/build/src/OpenCV/modules/flann/src/miniflann.cpp, line 315
2020-11-19 15:02:32.989 ERROR track_features.cxx(608): Exception caught: <fletch path>/build/src/OpenCV/modules/flann/src/miniflann.cpp:315: error: (-210) type=5
2020-11-19 15:02:32.989 ERROR track_features.cxx(608): in function buildIndex_
The same error happens if you run once with ORB and then go back and try to re-run with SURF, even if you properly configure the descriptor_binary := false
flag. For the time being you can simply delete the results folder to fix the latter issue.
In the future it would be useful to have a more descriptive error such as a config check failure. Alternatively, and likely better, the descriptor_binary
value to be deduced from the feature type and this config parameter could be removed.
This was observed at least on Windows and may be an issue on other platforms as well
Hi,
I am running Ubuntu 18.04.2 LTS.
I followed the installation instructions from README file:
sudo apt-get install build-essential libgl1-mesa-dev libxt-dev
sudo apt-get install libexpat1-dev libgtk2.0-dev liblapack-dev
# mkdir telesculptor (why is this here?)
mkdir builds
cd builds
cmake -DCMAKE_BUILD_TYPE:STRING=Release ../ # ../src in the instructions?
make
I am having issues for several days now being unable to run command line tools (maptk_track_features, for example). I am running the following command:
maptk_track_features -c maptk_track_features.conf
but I get the following warnings and errors:
2019-06-18 13:04:19.766 WARN algorithm.cxx(189): Could not find implementation "image_list" for "video_input" as requested from /home/kristijan/maptk/builds/external/maptk-build/share/maptk/0.11.0/config/core_video_input_image_list.conf:19
2019-06-18 13:04:19.766 WARN algorithm.cxx(189): Could not find implementation "core" for "track_features" as requested from /home/kristijan/maptk/builds/external/maptk-build/share/maptk/0.11.0/config/core_feature_tracker.conf:4
2019-06-18 13:04:19.767 WARN algorithm.cxx(189): Could not find implementation "ocv" for "image_io" as requested from /home/kristijan/maptk/examples/kwiver_fmv_set_1/maptk_track_features.conf:33
2019-06-18 13:04:19.767 WARN algorithm.cxx(189): Could not find implementation "bypass" for "convert_image" as requested from /home/kristijan/maptk/examples/kwiver_fmv_set_1/maptk_track_features.conf:5
2019-06-18 13:04:19.767 WARN algorithm.cxx(189): Could not find implementation "core" for "compute_ref_homography" as requested from /home/kristijan/maptk/builds/external/maptk-build/share/maptk/0.11.0/config/core_output_homography_generator.conf:5
2019-06-18 13:04:19.782 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.782 WARN algorithm.cxx(239): output_homography_generator:type = core
2019-06-18 13:04:19.782 WARN algorithm.cxx(239): valid options are
2019-06-18 13:04:19.782 ERROR track_features.cxx(156): Config Check Fail: output_homography_generator configuration check failed
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): video_reader:type = image_list
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): valid options are
2019-06-18 13:04:19.783 ERROR track_features.cxx(197): Config Check Fail: video_reader configuration check failed
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): feature_tracker:type = core
2019-06-18 13:04:19.783 WARN algorithm.cxx(239): valid options are
2019-06-18 13:04:19.783 ERROR track_features.cxx(202): Config Check Fail: feature_tracker configuration check failed
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): image_reader:type = ocv
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): valid options are
2019-06-18 13:04:19.784 ERROR track_features.cxx(207): Config Check Fail: image_reader configuration check failed
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): Configuration Failure: invalid option
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): convert_image:type = bypass
2019-06-18 13:04:19.784 WARN algorithm.cxx(239): valid options are
2019-06-18 13:04:19.784 ERROR track_features.cxx(212): Config Check Fail: convert_image configuration check failed
2019-06-18 13:04:19.785 ERROR track_features.cxx(313): Configuration not valid.
I can't guess what could be the issue here. I thought there is a linker issue so I tries putting several *.so files in the same directory where the program was run from, but it didn't help. I went through the source code, but still didn't find enough information. My remaining guess is that there are more dependencies, but this would lead me to pure guessing, so I decided to open the issue at this point.
Thank you!
Kristijan
Running "Compute -> Batch Compute Depth Maps" when there are fewer frames than the configured support can result in a crash due to out-of-bounds data access. The suspect code is here:
TeleSculptor/gui/tools/ComputeAllDepthTool.cxx
Lines 208 to 213 in e90a57a
If frames_in_range.size()
is less than 2 * halfsupport
, then num_frames
will be negative, resulting in static_cast<size_t>(num_frames)
being a large positive number and d->num_depth_maps
inappropriately being the full value of d->num_depth
. The main for
loop then attempts out-of-bounds access to frames_in_range
.
It would prevent the undefined behavior to just do something like if(num_frames < 0) num_frames = 0;
, but perhaps the tool should log / report that it didn't do any work.
Open/create a project that does not have cameras in TS GUI. Ensure a scene mesh is loaded. Pick a frame and calibrate a camera for it using six 3D-2D point correspondences. Observe the log for a successful calibration and a view re-projection on the mesh. Although camera is calibrated and inserted it is not visible in the 3D viewer. Calibrate a camera for a different frame, and observe that now two camera frustums are visible in the 3D viewer. The idea is to display the first calibrated camera frustum without having to calibrate any additional ones.
We have two forms of TeleSculptor documentation.
Both of these use restructured text, both have different content, but with some overlap. The task here is to
Hi,
I try to compile Telesculptor, i have some errors, see :
Configure summary:
Build type: linux-g++ (x86_64, CPU features: mmx sse sse2)
Configuration: use_gold_linker sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512f avx512bw avx512cd avx512dq avx512er avx512ifma avx512pf avx512vbmi avx512vl compile_examples enable_new_dtags f16c largefile precompile_header rdrnd shani x86SimdAlways shared rpath release c++11 c++14 c++1z concurrent dbus reduce_exports reduce_relocations release_tools stl
Build options:
Mode ................................... release; optimized tools
Optimize release build for size ........ no
Building shared libraries .............. yes
Using C++ standard ..................... C++1z
Using ccache ........................... no
Using gold linker ...................... yes
Using new DTAGS ........................ yes
Using precompiled headers .............. yes
Using LTCG ............................. no
Target compiler supports:
SSE .................................. SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
AVX .................................. AVX AVX2
AVX512 ............................... F ER CD PF DQ BW VL IFMA VBMI
Other x86 ............................ AES F16C RDRAND SHA
Intrinsics without -mXXX option ...... yes
Build parts ............................ libs tools
Qt modules and options:
Qt Concurrent .......................... yes
Qt D-Bus ............................... yes
Qt D-Bus directly linked to libdbus .... no
Qt Gui ................................. yes
Qt Network ............................. yes
Qt Sql ................................. yes
Qt Testlib ............................. yes
Qt Widgets ............................. yes
Qt Xml ................................. yes
Support enabled for:
Using pkg-config ....................... yes
udev ................................... no
Using system zlib ...................... yes
Qt Core:
DoubleConversion ....................... yes
Using system DoubleConversion ........ no
GLib ................................... no
iconv .................................. yes
ICU .................................... no
Tracing backend ........................ <none>
Logging backends:
journald ............................. no
syslog ............................... no
slog2 ................................ no
Using system PCRE2 ..................... no
Qt Network:
getifaddrs() ........................... yes
IPv6 ifname ............................ yes
libproxy ............................... no
Linux AF_NETLINK ....................... yes
OpenSSL ................................ no
Qt directly linked to OpenSSL ........ no
OpenSSL 1.1 ............................ no
SCTP ................................... no
Use system proxies ..................... yes
Qt Gui:
Accessibility .......................... yes
FreeType ............................... yes
Using system FreeType ................ no
HarfBuzz ............................... yes
Using system HarfBuzz ................ no
Fontconfig ............................. no
Image formats:
GIF .................................. yes
ICO .................................. yes
JPEG ................................. yes
Using system libjpeg ............... yes
PNG .................................. yes
Using system libpng ................ yes
EGL .................................... no
OpenVG ................................. no
OpenGL:
Desktop OpenGL ....................... no
OpenGL ES 2.0 ........................ no
OpenGL ES 3.0 ........................ no
OpenGL ES 3.1 ........................ no
OpenGL ES 3.2 ........................ no
Vulkan ................................. yes
Session Management ..................... yes
Features used by QPA backends:
evdev .................................. yes
libinput ............................... no
INTEGRITY HID .......................... no
mtdev .................................. no
tslib .................................. no
xkbcommon-evdev ........................ no
QPA backends:
DirectFB ............................... no
EGLFS .................................. no
LinuxFB ................................ yes
VNC .................................... yes
Mir client ............................. no
Qt Widgets:
GTK+ ................................... no
Styles ................................. Fusion Windows
Qt PrintSupport:
CUPS ................................... no
Qt Sql:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. no
OCI (Oracle) ........................... no
ODBC ................................... no
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
Qt Testlib:
Tester for item models ................. yes
Qt SerialBus:
Socket CAN ............................. yes
Socket CAN FD .......................... yes
QtXmlPatterns:
XML schema support ..................... yes
Qt QML:
QML network support .................... yes
QML debugging and profiling support .... no
QML delegate model ..................... yes
Qt Quick:
Direct3D 12 ............................ no
AnimatedImage item ..................... yes
Canvas item ............................ yes
Support for Qt Quick Designer .......... yes
Flipable item .......................... yes
GridView item .......................... yes
ListView item .......................... yes
Path support ........................... yes
PathView item .......................... yes
Positioner items ....................... yes
Repeater item .......................... yes
ShaderEffect item ...................... yes
Sprite item ............................ yes
Qt Gamepad:
SDL2 ................................... no
Qt 3D:
Assimp ................................. yes
System Assimp .......................... no
Output Qt3D Job traces ................. no
Output Qt3D GL traces .................. no
Use SSE2 instructions .................. yes
Use AVX2 instructions .................. no
Aspects:
Render aspect ........................ yes
Input aspect ......................... yes
Logic aspect ......................... yes
Animation aspect ..................... yes
Extras aspect ........................ yes
Qt 3D Renderers:
OpenGL Renderer ........................ yes
Qt 3D GeometryLoaders:
Autodesk FBX ........................... no
Qt Wayland Client ........................ no
Qt Wayland Compositor .................... no
Qt Bluetooth:
BlueZ .................................. no
BlueZ Low Energy ....................... no
Linux Crypto API ....................... no
WinRT Bluetooth API (desktop & UWP) .... no
Qt Sensors:
sensorfw ............................... no
Qt Quick Controls 2:
Styles ................................. Default Fusion Imagine Material Universal
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... yes
Qt Multimedia:
ALSA ................................... no
GStreamer 1.0 .......................... no
GStreamer 0.10 ......................... no
Video for Linux ........................ yes
OpenAL ................................. no
PulseAudio ............................. no
Resource Policy (libresourceqt5) ....... no
Windows Audio Services ................. no
DirectShow ............................. no
Windows Media Foundation ............... no
Note: Also available for Linux: linux-clang linux-icc
Note: -optimized-tools is not useful in -release mode.
Note: No wayland-egl support detected. Cross-toolkit compatibility disabled.
ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.
Check config.log for details.
make[5]: *** [CMakeFiles/Qt.dir/build.make:113: build/src/Qt-stamp/Qt-configure] Error 3
make[4]: *** [CMakeFiles/Makefile2:1014: CMakeFiles/Qt.dir/all] Error 2
make[3]: *** [Makefile:130: all] Error 2
make[2]: *** [CMakeFiles/fletch.dir/build.make:112: external/stamps/fletch-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/fletch.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
I'm on Fedora 31, with AMD POLARIS free driver. I think embedded Qt is not compiled with wayland and/or opengl options.
Currently reading/writing GCPs only handle the 3D points and 2D constraints are lost.
It would be nice if the size of the grid/axes in the GUI would "snap" to increments of whole units or "pretty fractions" of units (e.g. to a fraction whose denominator is 2a·5b with |a-b|≤1) so that the grid lines are "nice", rational numbers.
There is no indication of which 3D points (GCPs) have a corresponding 2D point for the current frame in the GCP panel. We should add an icon or indicator of some type to show which GCPs have a 2D point on the active frame and then update those indicators as the active frame changes.
Load project A with a mesh, inspect/create some GCP and registration points, compute cameras, export GCP points. Without closing TS, open project B with a mesh and GCP/reg.pts: now GCP and reg pts from two projects appear to be intermixed. I think we need to clear our GCP list on project (re) load.
The sample config files should be updated to work with the code provided in the release.
If running cmake with providing the vital_DIR, cmake still finds the system-wide Boost install.
I'm not a cmake-expert, so it might just be expected.
cmake ../maptk/ -Dvital_DIR:FILEPATH=/home/bjacquet/Dev/MAP-Tk/Vital/build
btw, it is annoying because maptk does not compile against Boost 1.58.0, which is the default on Ubuntu 15.10. But this is another issue.
"*/arrow/core/kwiver_algo_core_export.h: no such file ...",the error is arising,when I building the maptk/tools/analyze_tracks.cxx. And I found that no file named "kwiver_algo_core_export.h" is in the folder of map-tk or kitware.
When building with provided Dockerfile, the following error occurs:
/usr/bin/ld: CMakeFiles/cuda_compile_1.dir/cuda_compile_1_generated_integrate_depth_maps.cu.o: relocation R_X86_64_PC32 against symbol `_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
I am not sure if this is the correct place to submit this, but I encountered an issue with the maptk_track_features tool and this is how I fixed it. I am using commit 48ea683 of the master branch (MAP-Tk 0.10.0).
After running the maptk_track_features tool, the tracks.txt output file only contains the first 2 columns of data (the track ID and the frame ID) and is missing the last 8 columns (the feature data). The maptk_bundle_adjust_tracks tool expects all 10 columns of data to be present in the tracks.txt file. After looking into this issue, line 477 of track_features.cxx calls “kwiver::vital::write_track_file(tracks, output_tracks_file);”, which only writes out the track ID and frame ID to the tracks.txt file, whereas calling “kwiver::vital::write_feature_track_file(tracks, output_tracks_file);” writes out the track ID, frame ID, and feature data. I updated line 477 of track_features.cxx to call “kwiver::vital::write_feature_track_file(tracks, output_tracks_file);” instead. The maptk_track_features tool now produces the correct output.
Version MapGUI: 0.9.0
Qt: 4.8.6
On Ubuntu 14.04 32bit
I'm using Eigen 3.2.0
See also #456 as this may impact where updated docs go.
Loading a GCP file as part of a project works fine because the GCPs are loaded before the cameras are setup. However, if the GCP file is imported after the project is already open and the project has valid cameras then each GCP gets added twice. It seems that the function to add each loaded point calls the function to add a point to the camera view. This is the same logic used when clicking to add a new point, so a second point is added at the same location.
Hi there,
I have tried running the CLI tools for maptk_track_features and maptk_bundle_adjust on the test data provided from the examples in the CLIF data set. I downloaded and installed the MapTK 0.9.0 binary package and ran the command line tools from that packages bin folder. However when I run the bundle adjust with the same config settings in the examples directory with the metadata included, I still can not get output POS data. For some reason I can't seem to get the output updated POS files and instead only get the krtd files/ landmarks.ply file. I would like to see the updated POS files. The full output after running bundle adjust with the example config settings on the test data is as follows:
--> st estimation and application - elapsed time: 0.000358 sec
writing output PLY file - elapsed time: 0.000411 sec
2017-07-03 16:53:46.543 INFO bundle_adjust_tracks.cxx(1018): Writing output POS files
WARNING: local geo coordinates do not have an origin
2017-07-03 16:53:46.543 WARN bundle_adjust_tracks.cxx(1033): INS map empty, no output POS files written
--> Writing output POS files - elapsed time: 6.5e-05 sec
2017-07-03 16:53:46.543 INFO bundle_adjust_tracks.cxx(1062): Writing output KRTD files
--> Writing output KRTD files - elapsed time: 0.008628 sec
I was wondering if there was a config setting I was entering incorrectly or something like that.
Thanks a lot!
A single click on a camera's frustum could select its frame. A double-click could also assume the camera's view of the mesh.
Add support for loading LAS files or other point cloud formats using PDAL in VTK to load these files into the computed "mesh", but render them as points.
We should add the option to show residual lines connecting projected GCPs to 2D constraints in the camera view. This should work similarly to other residual drawing options, but it should update in real time as points are edited. The line (when visibility enabled) should always connect the projected 3D point to it's constraint point on the active frame.
A common operation is to step though GCPs one at a time and add a CRP to each on the current frame. This currently involves moving the mouse across the screen after each click to select the next point in the list. It would be more efficient to have a global keyboard short cut that simple advances the selected GCP to the next in the list and rolls over to the head of the list at the end. I recommend "a" for advance, but I'm open to suggestions. It would be good for the key to be near the left side of the keyboard so you can quickly alternate between pressing "ctrl" and this key with your left hand with the right hand on the mouse. We might also consider adding a previous GCP key as well.
Hi,
Sorry for very basic question.
Can i use this tool chain for stitching Drone Images and get GeoTIFF images.
Thanks
Hi,mleotta
I found you have already done a gcp tool, which will be in the version 0.10.0.
I am interested in this new function. May I know when will the v0.10 be released?
Appreciate for your work!
This was observed on Windows with missing DLLs, it may be an issue on other platforms as well. We probably need to add the MAP-Tk plugins to fixup_bundle in the CMake code.
The Zoom to Landmarks
feature is currently broken when there are no landmarks. The camera view is destroyed and there is no way to recover by zooming to all data. If there are no landmarks, the zoom to landmarks feature should not do anything or possibly should be greyed out.
Being able to measure things in the GUI is useful. We would like to have a "measurement" tool. The output UI should be a separate window with nine (read-only QLineEdit) fields, giving the matrix of [X, Y, Z] × [min, max, max-min]. This should have two modes. One mode would measure the visible geometry (probably with options to include/exclude the cameras and/or ground plane). The other mode would use an interactive widget in the world view to select/manipulate an AABB.
Update code here:
https://github.com/Kitware/TeleSculptor/blob/master/gui/WorldView.cxx#L1056
to support RGBA and single color cases.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.