Skip to content

Adapted Detectron2's Fast r-CNN object detection for automated association of radio galaxy/source components

License

Notifications You must be signed in to change notification settings

RafaelMostert/detectron2

 
 

Repository files navigation

This is a fork from Detectron2. Detectron2 is Facebook AI Research's next generation software system that implements state-of-the-art object detection algorithms. See https://github.com/facebookresearch/detectron2 for the original repository.

Project description

This code is used to apply a Fast R-CNN to radio source component association for LoTSS. It accompanies the paper "Radio source-component association for the LoTSS large-scale sky survey with Region-based Convolutional Neural Networks" It is motivated by the work done by Wu et al. 2019 ( https://github.com/chenwuperth/rgz_rcnn/ ). A procedural difference is that we always start out with radio emission detection software (like PyBDSF) that robustly detects all emission that surpasses a certain signal-to-noise threshold. As such, we have a lower risk of missing radio emission components. Furthermore we train our data using expert annotations. Technically, we leverage the radio-components from PyBDSF and feed those to an adapted Fast R-CNN instead of using a Faster R-CNN (which brute-forces regions of interest); we test and use different FPN backbone architectures; implement rotation augmentation in the preprocessing stage; and simplify the association task for large and bright sources by using Gradient Boosting Classifier decision trees to remove unresolved and barely resolved sources that are likely unrelated.

Installation

See INSTALL.md. Additionally, before running the train or evaluation code, you will need to have the following python packages installed using conda or a virtualenv: numpy, matplotlib, pandas, astropy, shapely

Running

The bash scripts in the runs folder were used to run the experiments for our paper. The bash scripts trigger the train, evaluation and inference python scripts (train_lofar.py, evaluate_lofar.py, inference_lofar.py) with for each experiment the corresponding yaml configuration file (which can be found in the configs/lofar_detection folder). The evaluation script produces debugplots while the inference script also creates a radio catalogue. These config files can be changed to point to your own preprocessed training or inference data, and point to your own output folder.

License

Detectron2 is released under the Apache 2.0 license.

Citing Detectron2

If you use Detectron2 in your research, please use the following BibTeX entry.

@misc{wu2019detectron2,
  author =       {Yuxin Wu and Alexander Kirillov and Francisco Massa and
                  Wan-Yen Lo and Ross Girshick},
  title =        {Detectron2},
  howpublished = {\url{https://github.com/facebookresearch/detectron2}},
  year =         {2019}
}

Citing our paper

If you use or build upon our research, please use the following BibTeX entry.

@misc{mostert2022radio,
  author =       {},
  title =        {},
  howpublished = {submitted},
  year =         {2022}
}

About

Adapted Detectron2's Fast r-CNN object detection for automated association of radio galaxy/source components

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 63.0%
  • Jupyter Notebook 30.3%
  • Cuda 3.3%
  • C++ 2.5%
  • Shell 0.8%
  • Dockerfile 0.1%