One Step Forth, Two Steps Back.
Published:
Hey everyone! The past few months have felt like a game of two steps forward, one step back, but progress is happening—slowly but surely. Most of my time has been spent processing and fine-tuning the orthoimages collected during fieldwork and improving the prediction workflow for the Mask R-CNN model.
One tricky issue I tackled recently was dealing with edge artifacts in tiled images. Satellite images are enormous and need to be split into smaller tiles for analysis. The problem? Boulders at the edges of tiles often get their outlines chopped up in predictions. To fix this, I coded a system to run predictions on overlapping tiles and fetch edge predictions from adjacent tiles. While there are probably plenty of GitHub repositories with similar solutions, I wrote this part myself as a learning exercise. It’s time-consuming but rewarding—it’s not often you get the chance to build something from scratch when time constraints dominate most careers in research and consulting.
Progress with Mask R-CNN
I’ve been training the Mask R-CNN model and getting reasonable results:
- Precision: ~75–85%
- Recall: ~65–75% (For context, Intersection over Union (IoU) is a metric to evaluate how well predicted outlines match the actual outlines. It measures the overlap between the predicted and ground truth areas divided by the union of those areas. A higher IoU indicates better performance.)
However, I’ve been a bit frustrated by the model’s ability to generalize to new images. To improve this, I’ve expanded the training dataset to include:
Earth
- South Deadman Dome
- Courtright Reservoir
- Stonegarden in Russia (thanks to a collaboration with colleagues from the University of Oslo). These sites offer varying boulder densities, bridging the gap between South Deadman’s high-density fields and Courtright’s sparse distributions.
Moon About 70% of the training data comes from relatively young lunar impact craters, with varying illumination conditions. Emiliano and I worked hard on this dataset.
Mars A few images were mapped by Brian, focusing on Martian boulder populations.
Data Augmentation to Boost Generalization
To help the model generalize better, I’ve implemented a series of data augmentations, progressing through blocks of increasing complexity (thanks to a suggestion from David, a machine learning expert and old friend):
- Block 1: Basic augmentations like rotations (90°, 180°, 270°), transpositions, and flips.
- Block 2: Adjustments to brightness, contrast, and blurring.
- Block 3: Zooming, resampling, and scaling.
- Block 4: Advanced techniques, including ElasticTransform, GridDistortion, and OpticalDistortion. The goal is to expose the model to diverse variations, improving its robustness and performance on unseen validation/test datasets.
Turning Predictions into Training Data
The model has reached a point where predictions are good enough to help expand the training dataset. After visual inspection, I’ve been correcting outlines, adding missing boulders, and removing false positives. It’s a slow process but ultimately rewarding because this step turns machine-generated data into high-quality labeled data.
Making It All Worthwhile
The best part? All this work will culminate in a public dataset for the planetary science community. Researchers will be able to train their models without slogging through the tedious and time-consuming labeling process. I only ask that they remember to cite the article and dataset (please, and thank you!). 😊
Next on the agenda: producing plots, starting the first manuscript, and taking another big step forward. First paper, here I come! Cheers, everyone—thanks for following along! 🎉