Skip to content
View Duke-BC-2021-AI-for-energy-access's full-sized avatar
Block or Report

Block or report Duke-BC-2021-AI-for-energy-access

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Hi there 👋

This repo contains the work of the 2021 Duke Bass Connections Team: Creating AI For Artificial Worlds. With this team, we worked under Duke professors Dr. Kyle Bradbury and Dr. Jordan Malof, exploring the benefit of synthetic satellite imagery (using the GP-GAN) for domain adaptation on the object detection task of energy infrastructure.

We have also culminated our team's history, work, and results on our website, which can be found at this link.

Our year-long research included a variety of tasks, which can be found in repos below:

Collecting Images

Here we collect satellite images (from the NAIP dataset) using Google Earth Engine

Here we perform copy-paste augmentation using real objects from our source data placed in random orientations on a white canvas (that will be input into the GP-GAN.

Here, we use images and their binary masks created in the image augmentation task, as well as unlabeled background images from our target domain collected from Google Earth Engine. These are input into the GP-GAN via our scripts to create realistic synthetic. arget imagery

Here includes the scripts that we developed to run our training and testing data for several trials and domain combinations with mixed batch training. We ran these in the repro_bass repo, which was our most active repository holding the yolov3 folder to run our experiments out of, as well as our constantly updated scripts folder.

In order to determine the effectiveness of our technique, we tested our technique against several state-of-the-art domain adaptation techniques, including CyCADA and CycleGAN. Additionally, we tested against pixelwise methods such as GrayWorld, Histogram Matching, and Histogram Equalization.

Here includes code developed for data pre-processing, plotting bounding boxes on images, and more.

This repository includes scripts for training the object detection model on various platforms. There are three branches:

  • main, for training on pizer
  • gaia and gaiav2, for training on gaia
  • dcc, for training on the Duke Computing Cluster, with Python scripts that can be used to generate SLURM batch job scripts Note that cloning the above repro_bass repository does not work out of the box. One would need to download various files (mostly .pt and .data files in the data folder) into the repro_bass folder as well for the program to run correctly.

Popular repositories

  1. collecting-images collecting-images Public

    Python

  2. test_repo test_repo Public

    Python

  3. repro_bass repro_bass Public

    Python 1

  4. GP-GAN GP-GAN Public

    Python

  5. cyclegan cyclegan Public

    Jupyter Notebook 1

  6. Mixup_for_UDA Mixup_for_UDA Public

    Python