How compatible are Indian farms to Deep Learning?
Ever since I started exploring this vast field of Machine Learning, I’ve been fascinated by the various applications of these solutions in different domains, be it health, security, or agriculture. But whenever I came across such interesting applications, one thing that would bother me was how little of those were directed to or would be applicable in the Indian market. Consider self-driving cars as an example, something like that to be successfully developed for Indian roads is indeed a herculean task.
Now let’s focus on the agricultural sector in India. Traditional farming methods have always been pre-dominant with very little implementation of automation as compared to many western countries. ML has a lot of potential here and would certainly revolutionize this field but we still don’t see a lot of examples where such techniques were successfully adopted. I often used to think to myself, what are we doing wrong? Is there an issue with data gathering? Are the Indian companies not as supportive of these approaches?
Working as a Data Science intern at Carnot Technologies gave me an opportunity to answer some of these queries. The task was to accurately detect farm patches using satellite images. Now a typical choice would be to train a binary image segmentation deep learning model which classifies each pixel of the image into whether it is a farm patch or not. Here comes the first hurdle, getting appropriate data. We had to make sure that the plots on which we train our model are not very different from the farm patches of the clients. But a comprehensive segmentation data on Indian farms was not available, reason being that a typical Indian agricultural plot is not regular. There is a wide range of sizes, shapes, and textures. Also, a farm might be lush green or barren based upon whether the crops were harvested or not. Now to train a segmentation model this robust doesn’t seem very plausible unless we have rich data. We did some experiments using a public dataset but the results weren’t satisfactory.
Let us briefly look at how deep learning models function and how is this relevant to the issue at hand. We feed satellite images of 256x256 resolution in our U-net model network and the image goes through multiple non-linear transformations to give us the output. When we train our model on various images, we teach it which features of the image are necessary and which ones should be ignored. These features can range from anything as simple as horizontal or vertical edges to complex or abstract patterns.
Now if our test data is diverse in the sense that the features aren’t as concrete, our model might find it difficult to confidently make deductions which is exactly what was happening in our case.
Nevertheless, we ended up tackling this problem by using a hybrid pipeline that was based upon but not only composed of the deep learning elements. The approach used would be further explained by my co-intern in a different article. I finally got clarity as to why the pace of advancements in AI is not as quick as some western countries. However, the silver lining of this is that if we build models robust enough to work in Indian markets, they are bound to do good on cleaner and more standard data. Thus, Indian markets add further challenges to the problem statement, making it even more exciting.
References and Further Reading
[1] Our approach to Farm Patch Alignment
[2] U-Net: Convolutional Networks for Biomedical Image Segmentation
[3] UNet architecture image taken from here
Enjoyed this article? Then be on the lookout for another two weeks later. Till then, for any data-related discussions, feel free to drop us a line at datalabs@carnot.co.in. And don’t forget to follow Data Kisaan on Medium.