Sedimentary Rock and Structure Classifier
Michael Martinez
Houston, Texas
- 0 Collaborators
This computer vision/deep learning model classifies different types of sedimentary rocks (i.e.: sandstones, limestones, shales) and recognizes rocks that are likely not sedimentary rocks. This model will be trained on original and augmented images from the web, the actual field, and from the lab. ...learn more
Project status: Concept
oneAPI, Mobile, Artificial Intelligence
Groups
Student Developers for oneAPI
Intel Technologies
DevCloud,
oneAPI,
Intel Python,
Intel CPU,
Intel Opt ML/DL Framework
Overview / Usage
This computer vision/deep learning model classifies different sedimentary rocks (i.e., sandstones, limestones, and shales) and recognizes rocks that are likely not sedimentary. Building this dataset and model is Phase I of a bigger idea.
Ultimately, I'd like to roll this model out as a mobile phone app. There are currently similar apps to identify birds or flowers but something else is needed to help identify rocks. This type of app would make it easier for non-experts to identify rocks.
Nothing identifies sedimentary structures fabrics within sedimentary rocks like ripples, graded beds, or mud cracks. Sedimentary structures tell us something about the environment at the time the rock was deposited, so collecting metadata like the location of samples and their orientations helps expert geologists interpret something about paleo factors in the past, like the direction of the dominant wind or water flow.
Methodology / Approach
First, I need to build a dataset using a few thousand images. I plan to scrape images from the internet and assign them correct labels using my lab group's identification expertise. I also plan to take pictures of sedimentary rocks and structures in-situ while doing fieldwork. It's important to include images of these rocks and structures in different environments, illumination, and poses, so I will likely travel to several sites for this work. I've read recent papers about improving accuracy using hand sketches, so I plan to try that out. Finally, I will take photos of lab-created samples that other groups created. The advantage of using images from lab-created samples is that I can take pictures of the structures from points of view that are not accessible without traveling through a body of rock in the field.
Second, I plan on building my deep learning model backbone using transfer learning from pre-existing, proven models that are already good at picking features on objects. Then, I'll build a classifier head more specific to identifying sedimentary rocks and structures. I will experiment with different backbones, heads, and hyperparameters and choose the best-performing combination.
Ultimately, I would like to roll this out as a phone app. Each year, geoscience programs send their undergraduates out into the field to look at rocks. My Ph.D. advisors plan on using these students as beta testers after I can prove the concept works on my own.
Technologies Used
Thus far, I've created similar models using the numpy, tensorflow, and matplotlib Python libraries and GPU's for training.
However, I will use Intel CPU's and GPU's through the DevCloud and the ambassador program. Additionally, I plan on learning more about Intel's oneAPI toolkits and libraries that will help improve the performance of this endeavour.