3DOM-FBK / deep-image-matching

Multiview matching with deep-learning and hand-crafted local features for COLMAP and other SfM software. Supports high-resolution formats and images with rotations. Both CLI and GUI are supported.
https://3dom-fbk.github.io/deep-image-matching/
BSD 3-Clause "New" or "Revised" License
338 stars 40 forks source link

Network visualization with matches graph #33

Closed gperda closed 8 months ago

gperda commented 8 months ago

Hey,

here is functionality to create a network and visualize the graph of matches between images using networkx and pyvis libraries. The graph.py module is triggered by optionally parsing -g or --graph and is executed post matching. It reads matches data from the COLMAP database. The nodes (images) are connected by edges weighted with the respective number of matches between pairs. Nodes are positioned using Fruchterman-Reingold force-directed algorithm and are divided into communities shown with different colors. Weight is displayed hovering over the edges. For small networks (<=30 images) the nodes are represented by the image preview. The output file is 'graph.html' saved in the output dir.
I plan to add different graph algorithms for grouping and analyzing the network, and to extend interaction with the network.

Currently supports small networks (big ones look messy). Requires networkx 3.2.1 and pyvis 0.3.2

image