Skip to content

salehahr/graph-extraction-networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

81e0cef · Oct 8, 2022
Dec 6, 2021
Aug 1, 2022
Apr 16, 2022
Aug 31, 2022
May 24, 2022
Apr 10, 2022
Aug 1, 2022
Aug 1, 2022
Aug 1, 2022
Nov 13, 2021
Apr 20, 2022
Mar 16, 2022
Mar 25, 2022
Apr 10, 2022
Apr 7, 2022
Aug 31, 2022
Apr 15, 2022
Apr 10, 2022
Oct 8, 2022

Repository files navigation

graph-extraction-networks

Extraction of graphs from skeletonised images — a TensorFlow implementation.


Related: data generation, sample GUI implementation

The graph extraction consists of a node extraction part, an edge extraction part and a combination scheme for the edge predictions.

Node Extraction

The nodes as well as their attributes are extracted using a model based on the U-Net.

Positions Degrees Types
0, 1, 2, 3, 4 end, crossing, border

Current best model: b_16_d2 [id: pqphq89g] (wandb) (yaml) (h5)

Training

  1. Define configuration:
  2. Set config filepath in nodes_nn.py (L7)
  3. Run nodes_nn.py.
    nohup python nodes_nn.py > nodes_nn_log.txt &
    

Testing

  1. Initialise variables:
    • Set network type to NetworkType.NODES_NN in evaluate.py (L5).
    • Populate model_ids list with the IDs of the model(s) to be tested in evaluate.py (L6).
    • Ensure that eval_nodes_nn.yaml is set in the second argument of run.get_configs in evaluate.py (L11).
  2. Model configuration and weights — ensure that these files exist:
  3. Choose the type of evaluation to be done, modify/comment out what's not needed:
  4. Run evaluate.py.

Edge Extraction

Prediction of the existence of an edge between a pair of nodes using a VGG-based model.

Current best model: baseline (wandb) (yaml) (h5)

Combination Scheme

Parallel batched edge predictions.