Reusing Nimbus for Plot Detection.

Gulfaraz Rahman
3 min readJan 4, 2019

Plot Detection is the problem of identifying the boundaries of farms in images. This is a complex problem which needs to address issues ranging from geometrical restrictions, regional contrast and illumination variances.

Problem scope in the high-level overview.

We (very naively) applied the Nimbus pipeline to detecting boundaries of farms in satellite images. This article describes only the changes in the solution implemented for the noise removal process. Read the following article for a detailed report,

The Dataset

Only one training datapoint of size 12566 x 10120 (also used for hyper-parameter tuning), one test datapoint of size 8921 x 7185 and one image without marking for visual inspection (size 26679 x 21487).

Input and Marked Training Images for Plot Detection.

Results

The original settings of hyper-parameters were tested for by bootstrapping 100,000 sub-images from the training datapoint. After 3 days of training, a Jaccard score of 0.8721 was achieved for the model trained with Lovasz loss with input image size 64 x 64.

Input (Top Left), Ground Truth (Top Right), Masked Input (Bottom Left) and Predicted Mask (Bottom Right) Images.

We were not thrilled, although we didn’t do any specific modifications for the new problem our expectations were higher than this. We visually inspected the other settings to find visually better results with a lower Jaccard score (0.7188) for a different setting — input image size 16 x 16.

Ground Truth and Predicted Mask for Plot Detection.

We visually re-inspected the results for the cloud images for the other settings and found visually improved results for some settings with lower Jaccard scores but not better than the one we already observed. The lesson being to manually inspect results until we have a reliable quantitative evaluation metric for image comparison.

Applying the model to our largest image,

Input and Predicted Images in urban, rural and unseen regions.

The model makes the distinction between urban (large dark regions) and agricultural areas and marks accordingly. Modifying the loss function to reward connected and continuous edges should improve the clarity of the prediction. Given only one training sample, we already have confidence that our model has learned to identify farm plots by its performance in unseen regions. Additional data should be gathered and labelled for further improving the prediction performance.

The most valuable take away from this experiment is that the solution used to tackle the noise removal problem was repurposed to tackle the plot detection problem. This is possible because of the homogeneous preprocessing structure. The network successfully learns to tackle each preprocessing step differently given a few examples of expected outputs for given inputs.

--

--