Building Recognition using AI at Large-Scale
Project description
Building Recognition using AI at Large-Scale.
What is BRAILS
BRAILS is the acronym for Building Recognition using AI at Large-Scale, which is an AI-Based pipeline for city-scale building information modeling (BIM).
How to install
pip install BRAILS
How to use
Example 1
The following example shows how to use BRAILS modules.
The example can be found here, or you can test it in this notebook on Google Colab.
Example images can be downloaded like this.
wget https://zenodo.org/record/4095668/files/image_examples.zip
# import modules
from brails.modules import RoofClassifier, OccupancyClassifier, SoftstoryClassifier
# initialize a roof classifier
roofModel = RoofClassifier()
# initialize an occupancy classifier
occupancyModel = OccupancyClassifier()
# initialize a soft-story classifier
ssModel = SoftstoryClassifier()
# use the roof classifier
imgs = ['image_examples/Roof/gabled/76.png',
'image_examples/Roof/hipped/54.png',
'image_examples/Roof/flat/94.png']
predictions = roofModel.predict(imgs)
# use the occupancy classifier
imgs = ['image_examples/Occupancy/RES1/51563.png',
'image_examples/Occupancy/RES3/65883.png']
predictions = occupancyModel.predict(imgs)
# use the softstory classifier
imgs = ['image_examples/Softstory/Others/3110.jpg',
'image_examples/Softstory/Softstory/901.jpg']
predictions = ssModel.predict(imgs)
The predictions look like this:
Image : image_examples/Roof/gabled/76.png Class : gabled (83.21%)
Image : image_examples/Roof/hipped/54.png Class : hipped (100.0%)
Image : image_examples/Roof/flat/94.png Class : flat (97.68%)
Results written in file roofType_preds.csv
Image : image_examples/Occupancy/RES1/51563.png Class : RES1 (66.41%)
Image : image_examples/Occupancy/RES3/65883.png Class : RES3 (49.51%)
Results written in file occupancy_preds.csv
Image : image_examples/Softstory/Others/3110.jpg Class : others (96.13%)
Image : image_examples/Softstory/Softstory/901.jpg Class : softstory (96.31%)
Results written in file softstory_preds.csv
Example 2
This example shows how to create a building inventory by specifying the name of a city.
You can also specify a bounding box.
Check details of this example and more examples here, or test them in this notebook on Google Colab.
# Import the module from BRAILS
from brails.CityBuilder import CityBuilder
# Initialize the CityBuilder
cityBuilder = CityBuilder(attributes=['softstory','occupancy','roofshape'],
numBldg=10,random=True, place='Lake Charles, Louisiana',
GoogleMapAPIKey='put-your-key-here')
# create the city-scale BIM file
BIM = cityBuilder.build()
The definitions of the parameters in this example can be found here.
The result BIM is a geopandas dataframe:
index geometry ID roofShape roofShapeProb softStory softStoryProb occupancy occupancyProb
0 POLYGON ((-93.21912 30.22786, -93.21892 30.227... 0 softstory 0.761644 COM 0.878260 flat 0.999769
1 POLYGON ((-93.21517 30.22412, -93.21491 30.224... 1 softstory 0.500260 RES1 0.549517 hipped 0.961910
2 POLYGON ((-93.21411 30.22617, -93.21427 30.226... 2 softstory 0.994021 COM 0.594705 hipped 0.999313
3 POLYGON ((-93.16719 30.23006, -93.16715 30.230... 3 softstory 0.969902 COM 0.372285 flat 0.735594
4 POLYGON ((-93.25565 30.21074, -93.25550 30.211... 4 softstory 0.000000 COM 0.000000 flat 0.998508
5 POLYGON ((-93.20388 30.22758, -93.20388 30.227... 5 others 0.971890 COM 0.913591 flat 0.996405
6 POLYGON ((-93.21610 30.22505, -93.21613 30.224... 6 softstory 0.000000 COM 0.000000 flat 0.963075
7 POLYGON ((-93.16549 30.22877, -93.16546 30.228... 7 others 0.841312 RES3 0.441689 hipped 0.534562
8 POLYGON ((-93.21525 30.22513, -93.21523 30.225... 8 others 0.830462 RES1 0.383844 flat 0.786514
9 POLYGON ((-93.21924 30.23054, -93.21949 30.230... 9 softstory 0.000000 COM 0.000000 flat 0.986143
Documents
Read the online document here.
How to cite
@article{wang2021machine,
title={Machine learning-based regional scale intelligent modeling of building information for natural hazard risk management},
author={Wang, Chaofeng and Yu, Qian and Law, Kincho H and McKenna, Frank and Stella, X Yu and Taciroglu, Ertugrul and Zsarn{\'o}czay, Adam and Elhaddad, Wael and Cetiner, Barbaros},
journal={Automation in Construction},
volume={122},
pages={103474},
year={2021},
publisher={Elsevier},
doi="https://doi.org/10.1016/j.autcon.2020.103474"
}
The pdf is here.
Acknowledgement
This material is based upon work supported by the National Science Foundation under Grant No. 1612843.
Contact
Charles Wang, NHERI SimCenter, UC Berkeley, c_w@berkeley.edu
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.