Skip to content
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

Open
wants to merge 74 commits into
base: feat_annotation_ui
Choose a base branch
from

Commits on Sep 16, 2020

  1. New features for the annotation UI

    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.
    Manuel Lopez Antequera committed Sep 16, 2020
    Configuration menu
    Copy the full SHA
    61d58fd View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2020

  1. Summary of analysis, better 'sticky' zoom behavior.

    Manuel Lopez Antequera committed Sep 21, 2020
    Configuration menu
    Copy the full SHA
    7297670 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2020

  1. Add 'group by reconstruction' arg

    Manuel Lopez Antequera committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    d653a90 View commit details
    Browse the repository at this point in the history
  2. fix: copy shot metadata

    paulinus committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    be62ac3 View commit details
    Browse the repository at this point in the history
  3. chore: simplify shot copy

    paulinus committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    e7ec8e4 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2020

  1. chore: add sequence_database.json to berlin dataset

    Manuel Lopez Antequera committed Sep 30, 2020
    Configuration menu
    Copy the full SHA
    33b2297 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2020

  1. feat: better summary of run_ba.py in terminal

    Manuel Lopez Antequera committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    a2915d9 View commit details
    Browse the repository at this point in the history
  2. feat: minor improvements to annotation UI:

    - '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
    Manuel Lopez Antequera committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    15f8614 View commit details
    Browse the repository at this point in the history
  3. feat: counter for the annotations of each GCP

    Manuel Lopez Antequera committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    5b58985 View commit details
    Browse the repository at this point in the history
  4. fix: jump to gcp now works without 'Analyze' being pressed

    Manuel Lopez Antequera committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    09150ef View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2020

  1. Configuration menu
    Copy the full SHA
    b12d0ea View commit details
    Browse the repository at this point in the history
  2. chore: only run one-way BA for 3d-to-2d analysis.

    added buttons for both types of analysis.
    Manuel Lopez Antequera committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    681136c View commit details
    Browse the repository at this point in the history
  3. misc fixes:

    - don't duplicate the resected shots
    - use the gcps also in the initial BA
    - ignore the GPS of the resected shots during BA
    Manuel Lopez Antequera committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    6713620 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2020

  1. Merge branch 'master' into feat_annotation_ui_resect

    * 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
    Manuel Lopez Antequera committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    4a39128 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2020

  1. Merge branch 'master' into feat_annotation_ui_resect

    * master:
      Rename opensfm main module
    Manuel Lopez Antequera committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    66667bf View commit details
    Browse the repository at this point in the history
  2. fix: 'Auto GCP' works on all reconstructions

    Before, it only worked on the largest one.
    Manuel Lopez Antequera committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    5323b74 View commit details
    Browse the repository at this point in the history
  3. fix: fix cameras during 3d-to-2d bundle adjustment

    Manuel Lopez Antequera committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    5edd49b View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2020

  1. Merge branch 'master' into feat_annotation_ui

    * 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
    Manuel Lopez Antequera committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    c883f77 View commit details
    Browse the repository at this point in the history
  2. feat: preload images with multiple processes

    Manuel Lopez Antequera committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    ff66b1d View commit details
    Browse the repository at this point in the history
  3. feat: Improved text labels in annotation UI

    - faster draw times
    - better contrast
    - optionally disabled
    Manuel Lopez Antequera committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    b13db83 View commit details
    Browse the repository at this point in the history
  4. fix: no more 'jumpy' frame lists.

    The selection on the frame list always follows the currently selected frame
    Manuel Lopez Antequera committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    3c6841c View commit details
    Browse the repository at this point in the history
  5. feat: Always display reprojection for selected GCP

    Manuel Lopez Antequera committed Oct 13, 2020
    Configuration menu
    Copy the full SHA
    573c48c View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. Merge remote-tracking branch 'origin/master' into feat_annotation_ui

    * origin/master:
      fix: import_colmap reprojection step works (mapillary#656)
      chore: add terms of service to README.md (mapillary#655)
    Manuel Lopez Antequera committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    63b6da8 View commit details
    Browse the repository at this point in the history
  2. feat: run_ba saves the number of localized images

    Manuel Lopez Antequera committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    2b3a25d View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2020

  1. chore: Refactor the annotation UI

    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.
    Manuel Lopez Antequera committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    f713d12 View commit details
    Browse the repository at this point in the history
  2. feat: Orthophoto views

    - 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
    Manuel Lopez Antequera committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    298ae76 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2020

  1. feat: Propose ortho views based on GPS

    Manuel Lopez Antequera committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    1116516 View commit details
    Browse the repository at this point in the history
  2. fix: display annotation counts on start

    Manuel Lopez Antequera committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    986564d View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' into feat_annotation_ui

    * master:
      fix: support fisheye cameras with FOV > 180
    Manuel Lopez Antequera committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    39a8576 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2020

  1. chore: formatting of run_ba.py

    Manuel Lopez Antequera committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    7d43b3d View commit details
    Browse the repository at this point in the history
  2. feat: Allow picking the reconstructions to analyze

    - run_ba.py takes the indices of the two reconstructions to analyze. If no index is passed for the second reconstruction, it runs 3d-to-2d analysis by resecting annotated images.
    - The UI has been updated with dropdown menus to select the reconstructions accordingly
    Manuel Lopez Antequera committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    21f00f6 View commit details
    Browse the repository at this point in the history
  3. chore: docs and output text

    Manuel Lopez Antequera committed Oct 20, 2020
    Configuration menu
    Copy the full SHA
    444b670 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2020

  1. chore: moved pixel rescaling to parent View

    Manuel Lopez Antequera committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    282dacc View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2020

  1. fix: convert auto-gcps from numpy to list

    Manuel Lopez Antequera committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    35b8221 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2020

  1. feat: split same-reconstruction sequences in views

    Before this commit, if --group-by-reconstruction was set,
    images would be grouped attending only to the reconstruction
    that they end up in.
    
    This caused rig images to be put into the same view which was
    uncomfortable for annotation.
    
    Now, if group-by-reconstruction is set and sequence-group has
    sequences in it that should be grouped (e.g. rig sequences),
    we ensure that they end up in different views.
    Manuel Lopez Antequera committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    813e0fa View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. fix: crash if groups_from_sequence_database={}

    Manuel Lopez Antequera committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    d0eaddd View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2020

  1. feat: Images can be rotated in the UI

    Manuel Lopez Antequera committed Nov 20, 2020
    Configuration menu
    Copy the full SHA
    532d8b5 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. feat: arg for strict checking of missing files

    Manuel Lopez Antequera committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    9c1abc6 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2020

  1. fix: sort by filename as well

    This sorts out out-of-order frames when the capture time resolution
    is insufficient.
    Manuel Lopez Antequera committed Dec 1, 2020
    Configuration menu
    Copy the full SHA
    6495c76 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2020

  1. Merge remote-tracking branch 'origin/master' into feat_annotation_ui

    * origin/master: (35 commits)
      Acquire gil lock before building python objects
      C++ implementation of geo.py
      Fix some python warnings.
      feat: release more GIL in C++ parts
      fix: handling of outlier in two-views triangulation
      Make UndistortedDataSet independent of the base dataset.data_path
      refactor: unify the use of actions
      fix the usage of np.min (mapillary#677)
      fix: fix overflow
      refactor: use threading (mapillary#676)
      fix spelling error in some plot files (mapillary#675)
      More robust gps_to_decimal (mapillary#674)
      clang-format opensfm/src
      Remove unused imports
      Add grayscale parameter to load_image
      build: setup github action and remove travis (mapillary#673)
      chore: pyfmt opensfm
      Rename FisheyeExtended to FisheyeOpencv
      Do not use constepr to fix compile error when not using buck
      Add method to read/write camera parameters into a vector.
      ...
    Manuel Lopez Antequera committed Dec 2, 2020
    Configuration menu
    Copy the full SHA
    fa989da View commit details
    Browse the repository at this point in the history
  2. fix: load replaces instead of merging

    Manuel Lopez Antequera committed Dec 2, 2020
    Configuration menu
    Copy the full SHA
    e0ad036 View commit details
    Browse the repository at this point in the history
  3. feat: fast analysis mode (skip BA)

    Manuel Lopez Antequera committed Dec 2, 2020
    Configuration menu
    Copy the full SHA
    1003051 View commit details
    Browse the repository at this point in the history
  4. fix: gracefully ignore missing shots_std file

    Manuel Lopez Antequera committed Dec 2, 2020
    Configuration menu
    Copy the full SHA
    5a9fa35 View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2020

  1. feat: 'fast' analysis will re-use bundle-adjusted reconstructions

    Manuel Lopez Antequera committed Dec 3, 2020
    Configuration menu
    Copy the full SHA
    95c1903 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2020

  1. fix: orthophoto annotations were wrongly saved

    Manuel Lopez Antequera committed Dec 4, 2020
    Configuration menu
    Copy the full SHA
    eaa512b View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2020

  1. fix: better search for candidate orthophotos

    Manuel Lopez Antequera committed Dec 7, 2020
    Configuration menu
    Copy the full SHA
    7e7bb19 View commit details
    Browse the repository at this point in the history
  2. feat: add orthophoto coverage cache

    Manuel Lopez Antequera committed Dec 7, 2020
    Configuration menu
    Copy the full SHA
    d04b487 View commit details
    Browse the repository at this point in the history
  3. fix: warn if GCP doesn't have enough annotations to triangulate

    Manuel Lopez Antequera committed Dec 7, 2020
    Configuration menu
    Copy the full SHA
    e170b05 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2021

  1. fix: always keep at least 2 reconstructions

    Manuel Lopez Antequera committed Jan 7, 2021
    Configuration menu
    Copy the full SHA
    d019131 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2021

  1. save GPC file also with the directory name

    Manuel Lopez Antequera committed Jan 8, 2021
    Configuration menu
    Copy the full SHA
    3c31b59 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2021

  1. don't initialize window positions

    Manuel Lopez Antequera committed Jan 12, 2021
    Configuration menu
    Copy the full SHA
    12c025d View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2021

  1. Save analysis metrics separately for each pair

    Manuel Lopez Antequera committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    2510f22 View commit details
    Browse the repository at this point in the history
  2. build: use c++14

    paulinus committed Jan 19, 2021
    Configuration menu
    Copy the full SHA
    6a9b1d4 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2021

  1. use sys.exit()

    Manuel Lopez Antequera committed Jan 20, 2021
    Configuration menu
    Copy the full SHA
    c1a6186 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2021

  1. chore: clearer error messages

    Manuel Lopez Antequera committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    030e37d View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'origin/master' into feat_annotation_ui

    * 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
      ...
    Manuel Lopez Antequera committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    8a54482 View commit details
    Browse the repository at this point in the history
  3. save results per rec. pair + simple GCP ids

    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.
    Manuel Lopez Antequera committed Jan 28, 2021
    Configuration menu
    Copy the full SHA
    a7a8293 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2021

  1. Merge remote-tracking branch 'origin/master' into feat_annotation_ui

    * 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
    Manuel Lopez Antequera committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    cced2de View commit details
    Browse the repository at this point in the history
  2. feat: more informative message when jumping to worst GCP

    Manuel Lopez Antequera committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    3f5f882 View commit details
    Browse the repository at this point in the history
  3. fix: remove reprojections after confirming

    Manuel Lopez Antequera committed Feb 4, 2021
    Configuration menu
    Copy the full SHA
    abfa80c View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2021

  1. fix: UI launches without reconstruction.json

    Manuel Lopez Antequera committed Feb 8, 2021
    Configuration menu
    Copy the full SHA
    1a78452 View commit details
    Browse the repository at this point in the history
  2. fix: UI launches without reconstruction.json

    Manuel Lopez Antequera committed Feb 8, 2021
    Configuration menu
    Copy the full SHA
    4a1254f View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2021

  1. fix: build on fedora

    Manuel López Antequera committed Feb 11, 2021
    Configuration menu
    Copy the full SHA
    a76fd4b View commit details
    Browse the repository at this point in the history
  2. fix: missing rasterio requirement for UI

    Manuel López Antequera committed Feb 11, 2021
    Configuration menu
    Copy the full SHA
    17420cd View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2021

  1. Read sequences from different folders

    Yonatan Simson committed Feb 18, 2021
    Configuration menu
    Copy the full SHA
    4ec6257 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2021

  1. Different frame rates for different sequences

    Yonatan Simson committed Feb 21, 2021
    Configuration menu
    Copy the full SHA
    4635670 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2021

  1. skip_frames moved to json

    Yonatan Simson committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    6d0c7cf View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2021

  1. networkx 1.11 won't work with python3.9

    Yonatan Simson committed Feb 23, 2021
    Configuration menu
    Copy the full SHA
    e96a3d0 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2021

  1. Merge branch 'master' into feat_annotation_ui

    Manuel López Antequera committed Feb 24, 2021
    Configuration menu
    Copy the full SHA
    3da3ae0 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1 from mapillary/feat_annotation_ui

    Feat annotation UI
    YonatanSimson authored Feb 24, 2021
    Configuration menu
    Copy the full SHA
    881ac0f View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2021

  1. Adding sequence graph

    Yonatan Simson committed Feb 25, 2021
    Configuration menu
    Copy the full SHA
    9d4a6cd View commit details
    Browse the repository at this point in the history
  2. Code clean up

    Yonatan Simson committed Feb 25, 2021
    Configuration menu
    Copy the full SHA
    339bfac View commit details
    Browse the repository at this point in the history
  3. Removing print

    Yonatan Simson committed Feb 25, 2021
    Configuration menu
    Copy the full SHA
    39f71e0 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2021

  1. Improving the plot

    Yonatan Simson committed Feb 28, 2021
    Configuration menu
    Copy the full SHA
    f23d3ae View commit details
    Browse the repository at this point in the history