Computational Detection for Soil Type

We were lucky to have a chat with Simon King from the IDEO Chicago office. Simon grew up on a farm and is an IDEO agriculture champion who spends his nights researching how technology intersects with farming. During our conversation, he had a great thought that Computer Vision could be used for a range of ideas in agriculture. 

Computer Vision (CV for short) is explained on Wikipedia as - a field that includes methods for acquiring, processing, analyzing, and understanding images. Simply, it helps computers 'see' objects and forms in photos or video. CV is a field that goes very deep and has many uses, notably technology like body tracking, facial recognition and edge detection.

This triggered the idea that edge detection might be able to detect soil type from a simple photograph. If loamy soil is heavier and fuller it would have less edges whereas sandy and loose would have many edges. We conducted a simple experiment using openFrameworks, a C++ based creative programming framework and it's openCV library. 

If we can find a way to create consistent images of multiple soil types this technique might be able to help farmers quickly understand how to amend their soil and prepare it appropriately for different crop types. Analysis of the image could also help farmers understand returns on investment for their soil if we can help them prepare for specific crops.

You can download and fork the code at Github