Building our anthropometry solution, one field visit at a time

Wadhwani AI is trying to create a solution where one can detect low-weight newborns by taking a short video on a smartphone.
Enabling a system where frontline workers could prescribe home-based care to these newborns or refer them for medical intervention.

In December of last year, we reached Bharuch in Gujarat. A five-hour journey from Mumbai to Vadodara via a flight and then a drive. Masked and socially distant. This was our third visit to access how healthcare workers weigh babies. It was not the way we wanted to conduct our usability testing. 

For the past three years, Wadhwani Institute for Artificial Intelligence has been trying to solve a problem: to create a solution where one can detect low-weight newborns by taking a short video on a smartphone. This would enable a system where frontline workers could prescribe home-based care to these newborns or refer them for medical intervention. We detailed the problems that frontline workers face in an earlier post

With this problem set in mind, we spent our first two visits (pre-Covid) along with our usability partner Navana Tech, recognising the challenges and understanding the limitations of our product usability. The third, with operational support from SEWA Rural, was to use the learnings from the first two times on the field, create a prototype and test it with frontline workers. There was some trepidation that frontline workers would find the process and the interface cumbersome and would reject it.

But our fears were unfounded. Not only were the prototypes widely accepted but many of our existing data collecting frontline workers couldn’t wait to use it in their application. 

What we did

We first went to Bharuch in 2019. The visit was just to understand the landscape. On this trip, all we wanted to do was immerse ourselves in the environment and pick up nuances. Our second visit to Udaipur, Rajasthan, was at the beginning of 2020. This time, we picked up details that would help us develop our app. For example, we realised that we could not rely on the lights available in the homes. The app would need to account for low light. Our solution needs a baby to be laid on an even, flat surface. We learnt that the ground the baby is placed on may not be level. Another was that mothers may not want to leave their baby uncovered because of the extreme temperatures. Some of these challenges technology could solve, some needed human intervention. 

Our third visit was set for mid-2020 when the pandemic struck. We had planned to conduct extensive research and surveys to understand not just the way the app was used, but also types of phones it might be installed on, features such as camera quality and the comfort level frontline workers had with their phones. 

We did conduct ad-hoc surveys by using surrogates for frontline workers but it was not the same. We had lost time. So, when we travelled in December, we were tentative. 

Across three days we had planned to meet 18 ASHAs. We had taken two prototypes. The first prototype relied on using the gyroscope found in slightly higher-end phones to provide frontline workers with real-time feedback. The second prototype did not use the gyroscope and relied on providing fixed time-based nudges to capture the video successfully. While we were aware that most phones used by frontline workers today do not support gyroscopes, we wanted to be forward compatible and build for old, basic phones as well as new emerging low-cost smartphones.

We hoped that the ASHAs would take to one of these prototypes and we would use that as our base to build our solution. Each day had a specific goal. On day one, we showed six ASHAs our prototype. Three used prototype A and the rest used B. On day two and three, 12 ASHAs used both prototypes and were asked if they preferred one over the other. 

We handed these phones to ASHAs and asked them to use these apps on dummy subjects.  

And that’s when we met Laxmiben. She was reluctant to participate in the study, calling it a waste of time. It took a lot of coaxing and convincing to give it a test drive. She took to it almost immediately. In fact, by the end of it, she asked when our app would be ready to download from the store and if she could use the app to collect data for us. 

All of this when the app doesn’t even give results yet – it just nudges the ASHAs on how to make a video. 

What we captured

We asked ASHAs to take videos by drawing an ‘arc’ with their smartphones around the baby. This required them to bend and get close to the babies. While they conducted these experiments, we recorded the sessions. During this, we also captured metadata, for example, how much the frontline workers bent, how much of the baby got captured, and the way they interacted with the app. We also captured them performing the task and documented what aspects frontline workers liked and what they didn’t. 

Each video taken by ASHAs was then scored by the research, the design and the product teams. The scores indicated how well they had captured the baby – if side angles were captured, if the baby was cropped and if the arc was smooth.

Now, comes the exciting part. Our research, product and engineering teams will take what we learnt on and work in conjunction to create a solution powered by AI. This could potentially help millions of babies across the world.

Our colleagues have been documenting how they approach building the model in a series of posts. You can read them here and here.

ML Engineer

ROLES AND RESPONSIBILITIES

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.

DESIRED QUALIFICATIONS

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

Programming

  • 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
mle

ML Scientist

ROLES AND RESPONSIBILITIES

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.  

REQUIREMENTS

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. 

DESIRED QUALIFICATIONS

  • 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.
mls