Skip to main content

Building footprint segmentation from satellite and aerial imagery

Project description

Building Footprint Segmentation

Library to train building footprint on satellite and aerial imagery.

Python Contributions welcome Licence Downloads

Buy Me a Coffee at ko-fi.com

merge1

Installation

pip install building-footprint-segmentation

Dataset

Training

Visualize Training

Test images at end of every epoch
Visualizing on Tensorboard
from building_footprint_segmentation.helpers.callbacks import CallbackList, TensorBoardCallback
where_to_log_the_callback = r"path_to_log_callback"   
callbacks = CallbackList()

# Ouptut from all the callbacks caller will be stored at the path specified in log_dir
callbacks.append(TensorBoardCallback(where_to_log_the_callback))

To view Tensorboard dash board

tensorboard --logdir="path_to_log_callback"

Defining Custom Callback

from building_footprint_segmentation.helpers.callbacks import CallbackList, Callback

class CustomCallback(Callback):
    def __init__(self, log_dir):
        super().__init__(log_dir)


where_to_log_the_callback = r"path_to_log_callback"   
callbacks = CallbackList()

# Ouptut from all the callbacks caller will be stored at the path specified in log_dir
callbacks.append(CustomCallback(where_to_log_the_callback))

Split the images in smaller sample

import glob
import os

from image_fragment.fragment import ImageFragment

# FOR .jpg, .png, .jpeg
from imageio import imread, imsave

# FOR .tiff
from tifffile import imread, imsave

ORIGINAL_DIM_OF_IMAGE = (1500, 1500, 3)
CROP_TO_DIM = (384, 384, 3)

image_fragment = ImageFragment.image_fragment_3d(
    fragment_size=(384, 384, 3), org_size=ORIGINAL_DIM_OF_IMAGE
)

IMAGE_DIR = r"pth\to\input\dir"
SAVE_DIR = r"pth\to\save\dir"

for file in glob.glob(
    os.path.join(IMAGE_DIR, "*")
):
    image = imread(file)
    for i, fragment in enumerate(image_fragment):
        # GET DATA THAT BELONGS TO THE FRAGMENT
        fragmented_image = fragment.get_fragment_data(image)

        imsave(
            os.path.join(
                SAVE_DIR,
                f"{i}_{os.path.basename(file)}",
            ),
            fragmented_image,
        )

Segmentation for building footprint

  • binary
  • building with boundary (multi class segmentation)

Weight File

Commonly used utility task when working with Geotiff

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

building-footprint-segmentation-0.2.4.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file building-footprint-segmentation-0.2.4.tar.gz.

File metadata

File hashes

Hashes for building-footprint-segmentation-0.2.4.tar.gz
Algorithm Hash digest
SHA256 73472a9a9d32cfeaa184f957ffd4cbe2d0afc3fbf1ea520f613e5c11b2b60e8b
MD5 7796b8ea9d289b61d2453719145bb31c
BLAKE2b-256 9f78c86fc6505e6116d66aad8ef56e188042fc22eb19e0c7cf4b46bc04b51154

See more details on using hashes here.

File details

Details for the file building_footprint_segmentation-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for building_footprint_segmentation-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9b88dde2f15f3d139324eca126cad544195caa9051069797ea80ab0d59a3b356
MD5 566174e61ce57eed7e84096543114615
BLAKE2b-256 e62c33ff8ca58a6d47f107a095ea41eeb3c116ee04fd309fcaf27a78d4ee9af2

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