-
Notifications
You must be signed in to change notification settings - Fork 858
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat_annotating_videos #711
base: feat_annotation_ui
Are you sure you want to change the base?
feat_annotating_videos #711
Conversation
Press the 'Auto GCP' button in any of the views to visualize tracks. The tracks are color-coded, brighter tracks are longer. Now click on any track to automatically create a GCP from it. Now you only have to annotate the GCP on the images that didn't get reconstructed. Press the 'Analyze' button to get some metrics about the positional accuracy of each frame and the reprojection error of each GCP. This information will show up in the GCP list and frame lists of each view. It also enables the 'jump to worst GCP' function (press Q) Press Q (after having analyzed the annotations) to jump to the GCP that has the largest average reprojection error. Every view that has at least one annotation for this GCP will jump to the frame within the sequence that has the worst reprojection error. Use this to find wrongly annotated points. Smart zoom behaviour upon displaying a new frame (From scrolling or clicking on a frame list): - If sticky zoom is set and a GCP is selected: + If the GCP is visible, zoom to the GCP + otherwise, zoom to the last clicked x, y - If sticky zoom is not set or there is no selected GCP, the view will show all the image. Regardless of the 'sticky zoom' mode, the view will instantly zoom in after clicking to add a GCP. - w/s to move forwards/backwards on all sequences (linked or not) - x as a hotkey to enable / disable sticky zoom. A list next to each view displays a list of all the frames in the sequence. Clicking on a row in this list immediately jumps to that frame. Each row contains: - Frame index. - Count of annotated points. - Positional uncertainty of each frame. Only available if the annotations were analyzed (click 'Analyze') So there is no wasted time arranging windows before starting the annotation.
- 'Jump to GCP' (press a to jump to the current GCP in all views) - New crosshairs for the annotations: small dot for the center and a circle of radius 5px. - Friendly names for GCPs instead of random characters - Currently selected frame is highlighted in each view
added buttons for both types of analysis.
- don't duplicate the resected shots - use the gcps also in the initial BA - ignore the GPS of the resected shots during BA
* master: fix: do not init glog (mapillary#653) chore: remove Python 2/3 doc chore: remove six chore: remove future imports feat: prepare for overload GCP loading feat: add manifold IO fix: fix division by zero bug feat: fix command line chore: fix typo in TopoCentriConverter Re-sync with internal repository Small fixes with big impact Fixed pickle error, deprecation warning (mapillary#645) Regression fix: allow build without tests (mapillary#640) refactor: seperate action from commands refactor: unify OpenSfM and mapillary_sfm commands under a common umbrella Feat: bundle and bundle_local in C++ (mapillary#628) fix: make test green ! fix camera test
* master: Rename opensfm main module
Before, it only worked on the largest one.
* master: Add stub files for opensfm c++ extensions Run OpenSfM with spaces in filenames Added python topocentric converter to reconstruction Fix --binary argument in export_colmap Fix correspondence setup in bundle command Fix colmap import/export with new data structures
- faster draw times - better contrast - optionally disabled
The selection on the frame list always follows the currently selected frame
* origin/master: fix: import_colmap reprojection step works (mapillary#656) chore: add terms of service to README.md (mapillary#655)
This refactor is to accommodate other types of views (aerial, orthophotos). The gcp database, image loading logic and view ui logic have been disentangled into different classes. The old view is now an ImageSequenceView subclassing from a more general View class. Auto linting and formatting applied to all involved files as well.
- We can now load/save latitude and longitude from GCPs - The GCP annotations in each orthophoto are saved as normalized pixels like all images. - Additionally, a view can be tagged as a 'geo reference'. In that case, the gcp annotations will also include the lat/lon
* master: fix: support fisheye cameras with FOV > 180
* origin/master: (29 commits) build: use C++14 (mapillary#697) Fix parameter names vlfeat: avoid build warnings fix: GPS Altitude extraction (mapillary#648) Add new cameras to exif Add radial and simple_radial model to io Camera tests clean-up (4/n) Add SimpleRadial as Radial unit test (3/n) Add projection functions for radial/simple_radial (2/n) Add Radial/Simple_Radial types and create methods (1/n) Clean-up remaining Eigen::XX types Add unit tests for fisheye/fisheye62 Fix: Return all distortion parameters from Python Add static method to get projection string fix: relax camera focal to prevent holes feat: statistics and report (mapillary#672) fix: no make_unique pre-C++14 (mapillary#688) feat: download merge rounds feat: add tracks merging Add option to use different cameras for images with unknown camera models ...
The results from run_ba.py are saved separately for each reconstruction pair, and the UI expects them to be named in that way. GCP ids are now simple incremental integers.
* origin/master: build: add docker build with Ceres 2 (mapillary#702) Remove more SLAM stuff Fix build (mapillary#703) Upgrades to annotation UI (mapillary#699) Return (const) reference instead of pointers Forgot some SLAM code fix: update OpenSfM documentation fix: fix build feat: add semantic to the features and tracks Remove left-over SLAM stuff Add Topocentric converter convenience function
Feat annotation UI
Hi @YonatanSimson! Thank you for your pull request. We require contributors to sign our Contributor License Agreement, and yours needs attention. You currently have a record in our system, but the CLA is no longer valid, and will need to be resubmitted. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at [email protected]. Thanks! |
f03c2e9
to
4a1a28a
Compare
Made changes to enable working on MacOS
Support intake of of images with no GPS