Welcome to bfgn

Hello there! You've found bfgn, a package for using convolutional neural networks (CNNs) in remote sensing research. If you're using remotely sensed imagery (or even large lab images) and want to use a context-based model (where multiple pixels used to make decisions), and you're looking for a way to test, compare, and deploy architectures, you're in the right place.

bfgn is an extension of ecoCNN, which was published with the paper "Uncovering ecological patterns with convolutional neural networks".

What it is

bfgn was designed as an internal research tool, one that we've now opened up in the event that others want to use it. It's a package that manages several common components of the cnn development pipeline in the geospatial research context, including converting raw raster/shape files into training data, training models (with a series of customizable templates of common network types), the application of those models over large areas, and the generation of error reports to assess and compare models.

What it isn't

This is not a perfected package to solve all of your geospatial CNN needs. It is a by-product of our existing research commitments and is not guaranteed to be bug-free, nor have extensive test coverage or exhaustive best practices. We're working to continue and improve things, and welcome any help. See something you think should be improved? Contribute!

Documentation

Our documentation is a work in progress, but has a solid start. Check out the link below for a ReadTheDocs style documentation page.

Docs

Getting Started

All code is available on the main repository, along with several examples (more examples and tutorials to come soon). The examples are a good way to get a handle on the workflow of bfgn.

To get going with the package, clone and install the repository - we recommend using the provided conda environment files (available for both gpu and cpu environments). Installation details are on the repository home page.

GitHub Repo

We're academics, and citations help us keep this work going. If you use this code in your academic work, please cite us! When the package develops a bit further, we'll add version-specific citations, but for now, please use:

Philip G. Brodrick, Andrew B. Davies, and Gregory P. Asner. "Uncovering Ecological Patterns with Convolutional Neural Networks." Trends in ecology & evolution (2019).

About Us

This code base was initially developed by a joint effort between Phil Brodrick and Nick Fabina, working out of the Center for Global Discovery and Conservation Science at ASU.