top of page

Machine Learning and Computer Vision for Landmine Detection

Click video to enlarge

Video demonstrating Python script which tiles the image according to image dimensions and runs a R-CNN object detection model. Image on the left represents the original UAV imagery containing a landmine. The images on the right are tiled, re-scaled images which are fed to the R-CNN for object detection.

Object Dectection using TensorFlow

A regional convolutional neural network (R-CNN) was trained using aerial imagery of landmines captured from a UAV. The model is capable of detecting and locating antipersonal mines as small as ~6cm in diameter imaged from flight altitudes of 10m AGL and beyond. 

The major challenge of this project was the detection of relatively small objects (landmines) within a larger extent of highly variable backgrounds (i.e. variable environmental settings). To solve this problem, a tiling approach was implemented where the image is segmented into multiple scaled-up images. These re-scaled images are then analyezd by the R-CNN and the coordinates of positive detections are translated back to the original imagery (see below). This approach greatly increases the accuracy of detecting small objects while decreasing the number false positive detections.

Detection of Thermal Signatures 

This script uses the GDAL/OSGEO Python libraries to automate the georeferencing of UAV imagery. After georeferencing, computer vision is employed through the OpenCV library to detect thermal signatures of landmines (see below). This project aims to stack the responses from the R-CNN detection method (described above) with positive thermal responses in order to increase the robustness and reliability of of the detection model.

Click video to enlarge

Video demonstrating Python script which georefences UAV imagery and returns landmine coordinates. Landmine thermal signatures are detected using the Python computer vision library OpenCV.

UAV-Based Methane Detection

Click video to enlarge

3D mapping of atmosphereic methane concentrations originating from a residential utility source. Survey was conducted by a UAV and methane measurements were obtained by a sensor developed by NASA's Jet Propulsion Lab.

Click video to enlarge

Calculated methane emission source from back trajectory analysis from wind data. 

Overview

This work was part of a collaborative research project which tested the applications of using UAVs to map methane concentrations in the vicinity of buried gas utilities in urban environments. This initiative included several research institutions and industry partners including the Northeast Gas Association, Southern California Gas, Automated Aeronautics and the NASA’s Jet Propulsion Laboratory, California Institute of Technology. One of the main goals of this project was to develop a method for processing, interpreting and mapping the data received from a variety of UAV-based sensors measuring wind data and atmospheric methane concentration. This involved the custom development of a suite geoprocessing tools using the Python and R programming languages. The video on the left shows a 3D plot of atmospheriec methane concrentrations surveyed by an UAV.

Geoprocessing Tool Development

This tool represents one of a suite of custom geoprocessing tools developed as part of a ArcMap Python toolbox for the purpose of processing and analyzing data received from a methane detection sensor created by NASA’s Jet Propulsion Laboratory. This particular tool makes use of wind vector data and directional statistics in order to calculate the direction of methane transport and infer the location of the methane emmission source. Development of the Python toolbox allows for the custom development of a dynamic dialogue box in which the user can specify parameters.

The suite of tools are contained in a single Python toolbox written in object oriented style. Therefore, the script is easlily shareable as the tools are intsantiated in the users local environment.

Application Development with R

The video to the left demonstrates a stand-alone GIS application created with open source software. This app was developed using R programming language and the leaflet mapping library.

The purpose of the app was to give the project a custom environment in which to process and visulized the data while surveying in the field. Some of its functionality includes file importing and data parsing, dynamic graphing and thresholding, production of wind-rose digrams for visualization of wind vector data, and dynamic heat-map plots to visualize atmospheric methane concentrations.

 

Click video to enlarge

Custom GIS application developed with R programming language.

Automated Workflow Example

Custom Geoprocessing Tool Development

This example demonstrates a custom geoprocessing tool written in Pyhton. This tool converts elevation data received in ASCII (text) format to elevation points and breakline features. These features are then processed to create a TIN surface model and finally a Digital Elevation Model (DEM) in the form of a georeferenced raster (tif).

This program makes use of free, accessible terrain data (publicly shared by Altalis) to create a detailed DEM. Automating this process allows users to quickly process the data in a single step. Further, the program automatically aggregates all the data before processing. This allows the user to skip the time consuming act of processing numerous small map sheets, and then having to merge the individual DEMs.

 

bottom of page