Skip to main content

Building and Infrastructure Recognition Using AI at Large-Scale

Project description

DOI PyPi version PyPI download month

What is BRAILS?

BRAILS (Building and Infrastructure Recognition using AI at Large-Scale) provides a set of Python modules that utilize deep learning (DL), and computer vision (CV) techniques to extract information from satellite and street level images. The BRAILS framework also provides turn-key applications allowing users to put individual modules together to determine multiple attributes in a single pass or train general-purpose image classification, object detection, or semantic segmentation models.

Documentation

Online documentation is available at https://nheri-simcenter.github.io/BRAILS-Documentation.

Quickstart

Installation

The easiest way to install the latest version of BRAILS is using pip:

pip install BRAILS

Example: InventoryGenerator Workflow

This example demonstrates how to use the InventoryGenerator method embedded in BRAILS to generate regional-level inventories.

The primary input to InventoryGenerator is location. InventoryGenerator accepts four different location input types: 1) region name, 2) list of region names, 3) a tuple containing the coordinates for two opposite vertices of a bounding box for a region (e.g., (vert1lon,vert1lat,vert2lon,vert2lat)), and a 4) GeoJSON file containing building footprints or location points.

InventoryGenerator automatically detects building locations in a region by downloading footprint data for the location input. The three footprint data sources, fpSource, included in BRAILS are i) OpenStreetMaps, ii) Microsoft Global Building Footprints dataset, and iii) FEMA USA Structures. The keywords for these sources are osm, ms, and usastr, respectively.

InventoryGenerator also allows inventory data to be imported from the National Structure Inventory or another user-specified file to create a baseline building inventory.

Please note that to run the generate method of InventoryGenerator, you will need a Google API Key.

#import InventoryGenerator:
from brails.InventoryGenerator import InventoryGenerator

# Initialize InventoryGenerator:
invGenerator = InventoryGenerator(location='Berkeley, CA',
                                  fpSource='usastr', 
                                  baselineInv='nsi',
                                  lengthUnit='m',
                                  outputFile='BaselineInvBerkeleyCA.geojson')

# View a list of building attributes that can be obtained using BRAILS:
invGenerator.enabled_attributes()

# Run InventoryGenerator to generate an inventory for the entered location:
# To run InventoryGenerator for all enabled attributes set attributes='all':
invGenerator.generate(attributes=['numstories','roofshape','buildingheight'],
                      GoogleAPIKey='ENTER-YOUR-API-KEY-HERE',
                      nbldgs=100,
                      outputFile='BldgInvBerkeleyCA.geojson')

# View generated inventory:
invGenerator.inventory

Acknowledgements

This work is based on material supported by the National Science Foundation under grants CMMI 1612843 and CMMI 2131111.

Contact

NHERI-SimCenter nheri-simcenter@berkeley.edu

How to cite

@software{cetiner_2024_10448047,
  author       = {Barbaros Cetiner and
                  Charles Wang and
                  Frank McKenna and
                  Sascha Hornauer and
                  Jinyan Zhao and
                  Yunhui Guo and
                  Stella X. Yu and
                  Ertugrul Taciroglu and
                  Kincho H. Law},
  title        = {BRAILS Release v3.1.1},
  month        = feb,
  year         = 2024,
  publisher    = {Zenodo},
  version      = {v3.1.1},
  doi          = {10.5281/zenodo.10606032},
  url          = {https://doi.org/10.5281/zenodo.10606032}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BRAILS-3.1.3.tar.gz (48.8 MB view details)

Uploaded Source

Built Distribution

BRAILS-3.1.3-py3-none-any.whl (9.2 MB view details)

Uploaded Python 3

File details

Details for the file BRAILS-3.1.3.tar.gz.

File metadata

  • Download URL: BRAILS-3.1.3.tar.gz
  • Upload date:
  • Size: 48.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for BRAILS-3.1.3.tar.gz
Algorithm Hash digest
SHA256 c4fe4d5e08adb242eedf27e970c1092defa971ad35e667df4b9b5e88aa2439b5
MD5 acb224ee88f6a6285936612bbe1e75fc
BLAKE2b-256 cfac4f4d0cb5aeab000ab1c41e5c27b518a9733c1035b0c17d5b0a5db0046bd6

See more details on using hashes here.

File details

Details for the file BRAILS-3.1.3-py3-none-any.whl.

File metadata

  • Download URL: BRAILS-3.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for BRAILS-3.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b7f91dc2d447096b8b3d6ab46868f01e10499c2cdff8100cd79311675d99caca
MD5 61ad25612fb1d0be5d4f043e0d868640
BLAKE2b-256 b6007b03ae21176fa920140ebf155f1f2a2579e590a4b3f8c5ae01d57dfde7f7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page