In today’s blog post, I interview Kapil Varshney, a PyImageSearch reader who was recently hired at Esri Research and Development as a Data Scientist focusing on Computer Vision and Deep Learning.
Kapil’s story is really important as it shows that, no matter what your background is, you can be successful in computer vision and deep learning — you just need the right education first!
You see, Kapil is a long-time PyImageSearch reader who read Deep Learning for Computer Vision with Python (DL4CV) last year.
Soon after reading DL4CV, Kapil competed in a challenge sponsored by Esri to detect and localize objects in satellite images (including cars, swimming pools, etc.).
He finished in 3rd-place out of 53 competitors.
Esri was so impressed with Kapil’s work that after the contest they called him in for an interview.
Kapil nailed the interview and was hired full-time at Esri R&D.
His work on satellite image analysis at Esri now impacts millions of people across the world daily — and it’s truly a testament to his hard work.
I’m thrilled to bits for Kapil (and not to mention, very proud of him as a PyImageSearch reader).
Let’s give a warm welcome to Kapil as he shares his story. In the course of the interview, you’ll learn how you can follow in his footsteps.
An interview with Kapil Varshney, Data Scientist at Esri R&D
Adrian: Hi Kapil! Thank you for doing this interview. It’s a pleasure to have you on the PyImageSearch blog.
Kapil: Hi Adrian! Thanks for having me on the PyImageSearch blog. It’s an honor. I have been following the blog for a while and have learned a great deal from it.
Adrian: Tell us a bit about yourself — where do you work and what is your job?
Kapil: Currently, I work at Esri R&D New Delhi as a Data Scientist. Most of my work is focused on computer vision and deep learning applied on satellite and aerial imagery. But, I have had a varied career.
I like to call myself a Rocket Scientist turned into a Data Scientist. I studied Aerospace Engineering from the University of Illinois at Urbana-Champaign. In the last few years, I have worked as an aerospace design engineer, marketing manager, teacher, and have tried my hand at entrepreneurship as well.
Adrian: How did you first become interested in computer vision and deep learning?
Kapil: It first started with analytics. I started applying basic analytics at my startup when I realized its power. Later on, as I delved deeper into this field, I discovered machine learning and then deep learning, which eventually lead me to computer vision applications. I am a visual person. I remember things better when I see and visualize them, and also, I have a better visual recall. The idea that you can enable a computer to “see” and infer as humans do innately excites me.
Adrian: Let’s dive into the Esri aerial image competition you participated in. What was the goal of the competition and what made it so challenging?
Kapil: Esri recently held a competition where the goal was to identify cars and swimming pools in aerial imagery of an urban residential area in the US. The dataset available included 3,748 image chips of 224×224 pixels. The main challenges were:
- The limited dataset available
- Low-resolution imagery
- The objects to be detected (especially cars) were very small in scale
Adrian: Tell us about your solution that led to your 3rd-place finish. What algorithms and techniques did you use?
Kapil: I used RetinaNet to solve this problem. RetinaNet is a state-of-the-art object detection model which works really well with small objects. It employs feature pyramid networks and focal loss to provide great results.
I used the TensorFlow/Keras implementation of RetinaNet which you worked through in the Deep Learning for CV book.
I experimented a bit with the scales and ratios for the anchor boxes to improve the results and ended up with 77.99 mAP, which landed me the 3rd spot in the competition. The top of this section shows an example of the detection applied on one of the chips. The original image is on the left and the image on the right has car detections marked with green boxes.
Adrian: After your 3rd-place finish, Esri called you in for an interview. Can you tell us about that process? What was it like?
Kapil: After the competition, I got an email from Esri to schedule an in-person interview in New Delhi, the next week. There were two rounds of interviews — one with Rohit Singh, MD of R&D Center New Delhi and the other with Jay Theodore, CTO of ArcGIS Enterprise.
The interview included discussions around my solution to the challenge, my unconventional background and a lot of technical questions on computer vision and deep learning. A few days later there was another short telephone interview with the HR and then in a couple of weeks I had a positive confirmation.
Adrian: You are now working for the R&D team at Esri, congrats! How did that feel to go from competing in a computer vision challenge to being hired by the company? That must be wonderful!
Kapil: Thanks. Indeed, it is a wonderful feeling.
I took up the Esri challenge as a project more than competition, and a few months later I am working full-time at the Esri R&D center in New Delhi.
I get to work on satellite/aerial imagery and spatial data which binds my interests in geography, GIS, aerospace technologies, vision, and deep learning. The solution to problems I am working on will be used by hundreds of thousands of Esri users which will directly or indirectly impact millions of people across the globe and our planet.
Adrian: How did Deep Learning for Computer Vision with Python (DL4CV) prepare you/help you for the aerial imagery competition?
Kapil: The DL4CV book has been a great resource which has helped prepare me not just for Esri challenge and the interview, but in my transition into the role of computer vision professional.
I found out about RetinaNet (the object detector I used in the Esri competition) and how to use it from your books.
Also, I have used a lot that I have learned from DL4CV in my other projects as well.
Adrian: Would you recommend Deep Learning for Computer Vision with Python to other developers, students, and researchers who are trying to learn computer vision and deep learning?
Kapil: Absolutely! It’s a must have for anyone who’s trying to learn computer vision and deep learning. There are many resources out there, but the practical approach that you employ in your books and tutorials is phenomenal. It’s one thing to just talk about the concepts and theory, but to actually apply a model on a dataset and implement it with well-structured code is what learners need to practice. DL4CV helps exactly with that.
I’d also like to add that Deep Learning for Computer Vision with Python was recommended to me by Saideep Talari, CTO of SenseHawk. He is a good friend and has guided me through my transition journey. And now that I have successfully transitioned, I can make the same recommendation with no doubt.
Adrian: If a PyImageSearch reader wants to chat, what is the best place to contact you?
Kapil: The best place to contact me is LinkedIn. Here’s the link to my profile:
Readers can also follow my blog at:
Once again, thanks a lot Adrian, for all the work that you put into your books and tutorials. Your work has helped and also inspired me, like it does thousands of other readers. Keep it up.
In this blog post, we interviewed Kapil Varshney, a computer vision and deep learning practitioner who was just hired to be part of Esri’s Research and Development team in New Delhi.
Kapil is a long-time PyImageSearch reader who recently finished reading my book, Deep Learning for Computer Vision with Python.
Soon after reading the book he competed in an object detection competition sponsored by Esri.
Detect and localize objects in satellite images, including cars, swimming pools, and other objects.
Kapil finished in 3rd-place out of 53 competitors, and soon after the competition, Esri offered Kapil a full-time position.
His story shows that you can be successful in computer vision and deep learning. All you need is:
- The proper education
- Self-motivation and dedication
Kapil has both of these — but what about you?
If you want to follow in his footsteps be sure to pick up a copy of Deep Learning for Computer Vision with Python (DL4CV).
Using DL4CV book you can:
- Obtain the knowledge necessary to finish your MSc or PhD
- Perform research worthy of being published in journals
- Switch careers and obtain a CV or DL position at a company or organization
- Apply deep learning and computer vision to your own projects at work
- Complete your hobby CV/DL projects you’re hacking on over the weekend
I hope you’ll join myself, Kapil, and thousands of other PyImageSearch readers who have not only mastered computer vision and deep learning, but have taken that knowledge and used it to change their lives.
I’ll see you on the other side.
To be notified when future blog posts and interviews are published here on PyImageSearch, just be sure to enter your email address in the form below, and I’ll be sure to keep you in the loop.