Welcome to our new series of AIcrew Stories! 🎉
In this corner of AIcrowd, we will be sharing inspiring stories, insights, and tips from top AIcrowd participants. ✨
We hope these deep-dives with the participants will help you in your own Machine Learning journey; introducing you to new tools and methods.
👋 This week, Vrushank from AIcrowd met up with Eric Scuccimarra, one of the runner-ups of Round 3 of the Food Recognition Challenge.
Eric works at Nestlé Research in Lausanne. A bilingual in English and French, Eric received his Master’s in Data Science from the University of Illinois, Urbana-Champaign. He has been in the field of Informational Technology for around 20 years now. He has primarily worked in web development and has been passionately pursuing ML and Data science recently.
🚵 Eric’s Machine Learning Journey
We wanted to know more about how Eric got interested in Machine Learning. Unamused by changing the focus of web-dev technology, he got interested in Machine Learning. Eric said he took several Machine Learning courses online but often he felt that he could not get his doubts resolved. When he found the EPFL extension school program, he immediately signed up and was one of the first few to finish it.
This experience encouraged him to enrol for a Master’s degree in Data Science. Eric’s plan for the future is to get involved in Nestle’s Data Science team and perform more machine learning tasks. He is primarily interested in nutrition and medicine.
The Food Recognition Challenge aligns with Eric’s interests as his work at Nestle also deals with digital nutrition and health. His job includes working with food log data and that actually interested him in the Food Recognition Challenge!
💪 Getting Started with the Challenge
Eric’s first attempt at solving this challenge didn’t go as planned. “I initially participated in the second round of the Food Challenge but I wasn’t sure on how to make submissions and I gave up after that. But I got two weeks off at the end of December and that’s when I was able to give time and attention to the problem. I started with data augmentation but what really improved my score was ensembling multiple-models,” he added.
Eric referred to a research paper that ensembles object detection models and groups predictions. Eric elaborated, “When I was using the models on their own, it was giving a large number of false positives. Once I started growing the predictions and filtering them down, it made a big difference.”.
🔬 His Approach
How did he navigate dealing with such a large dataset? Eric replied, “Once I figured out the docker images, the process became faster. It didn’t have to rebuild the image every time which sped things up quite a bit.”
We wanted to know more about his initial efforts for the challenge. Scuccimarra started with starter-kits and chose the mmdetection approach. He said, “I started modifying it, updating it to the latest version and changing the config files while increasing the augmentation. I started digging into the mechanics of MM detection to see how I could improve the models. Basically, I would try a lot of different things to see what works.”
🚧 Encountering Obstacles
We asked him to share some of the challenges he faced during this. He said,
“This was a very difficult problem. I looked at some of the images myself and it was hard to differentiate between white tea, black tea, green tea, tea with caffeine and tea without caffeine. I also tried to manually go through the categories trying to figure out ways on how the model thinks. I also faced some challenges with the annotation. Some images had little glasses of water in the corner and that wasn’t annotated.”
😣 What To Do When Nothing Is Working?
Scuccimarra said there were moments when felt like results were not turning out as expected and he felt like giving up. “When I was almost ready to give up, I took some time off and thought of a new method to try. I would go back and tweak something.” He suggests shifting focus, “While I am not working on it, in the background I would think of something that I haven’t tried but could experiment with. I feel that when you’re constantly focusing on one thing you get tunnel vision and don’t see other options."
🎢 To The Top Of The Leaderboard
After 443 submissions and many failures, Eric finally achieved an enviable AP score of 0.52 on the leaderboard.
(and from what we know, Eric’s persistence really frightened the other participants 😉)
👨💻 Eric’s Advice For You
On starting a new challenge
We asked Eric to share his advice for someone starting a new challenge. Here’s what he had to say, “Always start with Exploratory Data Analysis (EDA) before you work on anything. I didn’t do it until much later and I found a lot of things that could have helped me earlier. Start by going through annotations and plotting them. Investigating what categories are present and the size of the images, these things I wish I had done in the beginning.” He continued,
“Look into the details of whatever framework you’re using, what can you and cannot change. Keep records of everything you do so you know what helps and what doesn’t. Try as many different approaches as possible. See if there’s any literature about the problem you’re trying to address, what methods have succeeded. I found a few papers that were very helpful.”
🏆 On Getting The Best Result
How does one maximise their efforts? Work smarter and not harder. This is where Eric’s approach is a bit unique and quite rigorous. “I was keeping track of all the different models on a spreadsheet. I ended up with at least 20-25 different sheets of different models and results. I would track the score on different iterations so I could find when it started to overfit. I could see what changes helped and which ones didn’t. So I would record the iteration score and notes on what has changed there. Towards the end, I started ensembling different models.” “I would have one notebook that would go through all the models and generate projections. Along with another notebook that would go through predictions and try various combinations to see which one got the best score,” he concluded.
Eric lived in Lausanne, Switzerland with his wife. He loves to run (he is currently nursing a knee injury). He enjoys watching anime and recommends checking out Blue Lagoon, One Punch Man and Parasyte. Eric also creates electronic-jazz versions of popular songs that are worth checking out! You can see more of Eric’s work over here.
On asking if he would be participating in another AIcrowd challenge soon, he said, “Haha, I think I need a bit of a break. At the end of Round 3, I was waking up early to work on the challenge. I was running three notebooks in parallel training different models. Last two weeks, I kept referring to the problem throughout the day”. At the time of publishing this blog, Eric is second on the Food Recognition Challenge Round 4 leaderboard.
Hope you enjoyed the first instalment of our new series. Do let us know your thoughts by tweeting to us @AIcrowdHQ. What would you like to read more about?