Skip to content

Radhika-Keni/Satellite_Imagery_Detection_YOLOV7

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Satellite/Aerial Imagery_Detection

Build a model capable of detecting and classifying objects from a Satellite/Aerial/Overhead Imagery Data.

Objective of this notebook

  • The purpose of this notebook is to build model capable of detecting and classifying objects from aerial imagery
  • The algorithm of choice here is YOLOV7 and we would be custom training YOLOV7 on an aerial imagery datatset
  • Details of the Problem Statement , Data Set , Data Pre-processing & Splits, Architecture/Algorithm , Summary of the Code/Solution , Sample Output/Prediction from the program and Final Result of the project are listed in the sections to follow.

Problem Statement

Computer vision enables armed forces to optimise their missions, enhance the security of soldiers and protect citizens by using oject detection on satellite imagery to detect unusual activities at the borders.

Data Description:

  • Data Set: xView1 Dataset https://challenge.xviewdataset.org/data-explore
  • Total No Of classes in the entire dataset = 60 - some examples include are Small Aircraft,Cargo Plane,Pickup Truck,Container Ship,Oil Tanker,Helicopter,Crane Truck e.t.c
  • Total No Of Image Files = 847
  • Total no of Instances/Objects across all images= 6,01,937

Domain:

Defence Surveillance

Data Pre-processing & Splits:

  • The xView dataset contains labels in the format of a geoJSON file. As part of the pre-processing , we converted the the labels from geoJSON(xView_train.geojson) format to YOLOV7 label format.
  • YOLOV7 has a specific label format wherein there will be one label file for each image file and the format of the label file will be as follows class|xcenter|ycentre|width|height for each bounding box in that image and labels were generated in this format
  • A subset of data was taken catering to the follwoing 4 classes image
  • The Train and Validation splits were done in a 80:20 split respectively and the details are as follows image

Architecture/Algorithm:

YOLOV7 by https://github.com/WongKinYiu/yolov7

Summary of the Solution/Code:

The code aims at custom training YOLOV7 on the xView dataset

  • In this notebook we first Explore/Sanity test on YOLOV7 API as is and run some general inferences to validate setup
  • We then Custom Train this YOLOV7 API on XView Data for 151 epochs
  • We log the mAp score and F1 scores
  • Run inferences on some images from validation split

Sample Ouput/Prediction :

Here is a couple of sample Ouput images from the program/model .

image

image

Result

image

image

Extension

  • Some classes performed well while some very poorly .Classes such as small aircraft & helicopter performed poorly compared to Passenger/Cargo flight class.
  • Excerpt from final report below

image

References & Guidance

About

Build a model for Satellite Imagery object detection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published