Pest Management for Cotton Farming

The CottonAce solution guides smallholder cotton farmers on the optimal time to take preventive action and protect their farm against avoidable crop losses due to pests such as the Pink and American bollworm.


CottonAce is an AI-powered early warning system available through an app on Android smartphones. It helps farmers protect their crops by determining the right time to spray pesticides through immediate, localized advice.

The primary user of our solution is a cotton farmer who has installed pest traps and works closely with farmer welfare programs to manage pest infestations – referred to as a ‘Lead Farmer’.

Lead farmers or extension workers will install the CottonAce app and upload a photo of pests collected in commonly-used pheromone traps to the CottonAce app. The AI algorithm identifies and counts the pests in the photo and determines the level of infestation, based on which a set of actionable advisory is given to the farmer. This information is shared with neighbouring ‘cascade’ farmers, for whom no additional tools, including smartphone, are necessary.

The app works on a simple smartphone, and even works offline in places with low network coverage. It is available in 9 languages (English, Hindi, Marathi, Gujarati, Telugu, Kannada, Tamil, Odia, Punjabi).

“Proud to be a part of the Wadhwani AI team where I can contribute my knowledge and experience from research organisations such as CICR|ICR, to now witnessing the next agricultural revolution through AI-based innovations and solutions that will help reduce crop losses through integrated pest management. This is a step towards realising my dream of working on innovative projects in the space of social impact where technical R&D in agriculture meets sustainable development.”

Along with the app, a web-based dashboard supports program implementation with a real-time (as well as historical) view on the pest occurrences in monitoring plots as well as the village.

Features of the dashboard

  • Ensure that regular monitoring of plots is being carried out and target farms for follow-ups.
  • Track pest infestations at the village level
  • Geospatial overview of the villages or region helps in analysing the spread pattern of pests.
  • Capture images and inference generated by the AI algorithm.

How we use AI

We use AI to detect and count pests on pheromone traps installed in cotton farms. The AI model first detects whether the image is of the appropriate type and quality through an input validation module, then identifies the type of pest and isolates each pest of that type by creating a bounding box around the pest. The model counts the number of bounding boxes and thus estimates the number of pests on the trap, which in turn is used to decide whether or not the count exceeds the Economic Threshold Limit (ETL), i.e., whether or not pesticide spraying is recommended. Since model inference and recommendation is carried out on a basic smartphone used by the farmer, the model’s memory footprint needs to be small. We therefore also use neural net pruning techniques to compress the model to a small size without significantly reducing accuracy. We continue experimenting with new methods to improve overall accuracy and compression.

Illustration of our machine learning model

In order to build the AI model, we collected training data from the field during four previous sowing seasons. This training data consisted of images of pest traps installed in farms across the country, including Karnataka, Maharashtra, Telangana, Tamil Nadu and Gujarat, later annotated by human expert and crowd annotators to identify and isolate pests of interest on the trap.

ML Engineer


An ML Engineer at Wadhwani AI will be responsible for building robust machine learning solutions to problems of societal importance; usually under the guidance of senior ML scientists, and in collaboration with dedicated software engineers. To our partners, a Wadhwani AI solution is generally a decision making tool that requires some piece of data to engage. It will be your responsibility to ensure that the information provided using that piece of data is sound. This not only requires robust learned models, but pipelines over which those models can be built, tweaked, tested, and monitored. The following subsections provide details from the perspective of solution design:

Early stage of proof of concept (PoC)

  • Setup and structure code bases that support an interactive ML experimentation process, as well as quick initial deployments
  • Develop and maintain toolsets and processes for ensuring the reproducibility of results
  • Code reviews with other technical team members at various stages of the PoC
  • Develop, extend, adopt a reliable, colab-like environment for ML

Late PoC

This is early to mid-stage of AI product development

  • Develop ETL pipelines. These can also be shared and/or owned by data engineers
  • Setup and maintain feature stores, databases, and data catalogs. Ensuring data veracity and lineage of on-demand pulls
  • Develop and support model health metrics

Post PoC

Responsibilities during production deployment

  • Develop and support A/B testing. Setup continuous integration and development (CI/CD) processes and pipelines for models
  • Develop and support continuous model monitoring
  • Define and publish service-level agreements (SLAs) for model serving. Such agreements include model latency, throughput, and reliability
  • L1/L2/L3 support for model debugging
  • Develop and support model serving environments
  • Model compression and distillation

We realize this list is broad and extensive. While the ideal candidate has some exposure to each of these topics, we also envision great candidates being experts at some subset. If either of those cases happens to be you, please apply.


Master’s degree or above in a STEM field. Several years of experience getting their hands dirty applying their craft.


  • Expert level Python programmer
  • Hands-on experience with Python libraries
    • Popular neural network libraries
    • Popular data science libraries (Pandas, numpy)
  • Knowledge of systems-level programming. Under the hood knowledge of C or C++
  • Experience and knowledge of various tools that fit into the model building pipeline. There are several – you should be able to speak to the pluses and minuses of a variety of tools given some challenge within the ML development pipeline
  • Database concepts; SQL
  • Experience with cloud platforms is a plus

ML Scientist


As an ML Scientist at Wadhwani AI, you will be responsible for building robust machine learning solutions to problems of societal importance, usually under the guidance of senior ML scientists. You will participate in translating a problem in the social sector to a well-defined AI problem, in the development and execution of algorithms and solutions to the problem, in the successful and scaled deployment of the AI solution, and in defining appropriate metrics to evaluate the effectiveness of the deployed solution.

In order to apply machine learning for social good, you will need to understand user challenges and their context, curate and transform data, train and validate models, run simulations, and broadly derive insights from data. In doing so, you will work in cross-functional teams spanning ML modeling, engineering, product, and domain experts. You will also interface with social sector organizations as appropriate.  


Associate ML scientists will have a strong academic background in a quantitative field (see below) at the Bachelor’s or Master’s level, with project experience in applied machine learning. They will possess demonstrable skills in coding, data mining and analysis, and building and implementing ML or statistical models. Where needed, they will have to learn and adapt to the requirements imposed by real-life, scaled deployments. 

Candidates should have excellent communication skills and a willingness to adapt to the challenges of doing applied work for social good. 


  • B.Tech./B.E./B.S./M.Tech./M.E./M.S./M.Sc. or equivalent in Computer Science, Electrical Engineering, Statistics, Applied Mathematics, Physics, Economics, or a relevant quantitative field. Work experience beyond the terminal degree will determine the appropriate seniority level.
  • Solid software engineering skills across one or multiple languages including Python, C++, Java.
  • Interest in applying software engineering practices to ML projects.
  • Track record of project work in applied machine learning. Experience in applying AI models to concrete real-world problems is a plus.
  • Strong verbal and written communication skills in English.