There is a saying in Kannada,
“Jeevana, Nintha Neeragirabaaradhu, Adhu Hariyuva ‘Jhari’ yaagirabeku.”
Which translates to the following in English,
“Life should never be water in a pond, but it should be a steady stream.”
If you want to take your first steps in Computer Vision and AI, checkout AI Courses by OpenCV.org.
Stagnation : Water in a Pond
Somehow I had a feeling that my life had become that water in a pond. I was not doing anything significant. Life was just the usual grind, nothing fascinating was happening.
I am Santhosh, I live in Bengaluru.
I spend half of my life on the streets of Bengaluru, not because I’m homeless, but because I am a Software Engineer by profession who works for a company located on the Outer Ring Road.
I love traveling. I travel a lot, not to places around the globe. But to the office and back home.
It takes me two and a half hours to reach office. And an epic three and a half hours back home, sometimes even more. I start from home by 7 AM in the morning and reach office by 9:30 to 10 AM, sometimes as early as 8:30 AM depending on the weather/rain/holidays/truck break down or some schmuck who drove on the wrong side to avoid the jam on the other side of the road.
So, many aspects of my life were governed by elements beyond my control.
That is when it struck me — I was living in that pond. I was spending time watching Netflix/Youtube videos just to pass the time. Sometimes, I even got the feeling that I wanted the traffic jam to last a little longer so that I could finish the series I was watching on Netflix!
I had never felt so lost in my life. Life had become very mechanical and utterly monotonous. I tried to keep my mind sharp by playing chess and solving puzzles and games on my phone to forget about the traffic jams and the total chaos happening around me.
Nothing really worked.
Struggle : Learning without Guidance
Since my childhood, my parents and teachers taught me never to waste time, never keep the mind idle. I realized I was wasting a lot of time on the road. And my mind was empty watching the videos. Not that watching videos is terrible but I was not learning anything from those videos. My mind kept wandering around, and my eyes endlessly stared at the small screen of my phone.
I am a technology enthusiast and love to learn the latest and the greatest technologies. I do read a lot online and try to keep myself up to date with current affairs. I am passionate about Image processing and had studied the subject in an optional course back in my BTech days. But that was it. I never pursued it beyond that.
I do subscribe to some blogs to keep myself updated, LearnOpenCV.com was one such example. There were a couple of half-hearted attempts here and there to learn about ML, AI, and Computer Vision. But nothing solid came out of it.
Stimulus : A nudge to act
A few months back, there was a small theft in my home — a cooking gas cylinder got stolen. A photo was captured by the surveillance camera, but it was not clear enough. Identifying the thief’s face was difficult.
So, in a way, I felt responsible for that. Even though I had a photo of the thief, I couldn’t identify or bring him to justice. I tried to do some image processing on the thief’s video and images, by Googling here and there. Nothing worked. I almost gave up hope.
Serendipity : When right things happen at the right time
Right around that time, I got an email from Satya Mallick [ LearnOpenCV.com ] about an upcoming course which you could enroll for $299. I was a little hesitant because if you convert it to Indian currency (62/63 Rs at that time), the sum was close to Rs 20K. I felt that was a little expensive and dropped the idea of taking up the course. This was back in Dec 2017.
Once I missed the bus, there was no going back, and my life was back on the streets of Bengaluru.
Now and then, I used to get some emails about the new blog posts from LearnOpenCV.com. I would religiously read, download the code and try to build and understand the code. This process worked to some extent. But I was not happy with the results. Mainly because there was a fundamental gap of where to start and which dots to connect. It was like a blind man trying to explain how the elephants look.
One day I accidentally bumped into the course again and found that there were trial lectures available! My joy knew no bounds. It was a seven-day free trial course, each day you get some set of concepts which were explained. You could use those solutions in real life applications. I could follow the lectures and got better results than by just following the blog. I was pleased with the results I was getting.
While I was in the middle of the free course, I came to know the paid computer vision course had reopened. I had a week’s time to decide before that enrollment closed.
Price and Value
Price is what you pay. Value is what you receive.
I wanted to take it badly, but I wanted a second opinion from my wife. When I asked her if I could enroll in the course, she asked about the material and the cost. I replied that it was $300 and that I wanted to take it. She was curious why I was not trying one of the several free courses available. Why did I have to spend $300? What was so special about this course? I said I didn’t know what was so special about it, but I knew for sure I needed to take it. I had enrolled in the trial course material, and it felt good to solve those problems which had real-life applications. She asked me to go and finish that one week course first. I was like, “yeah why don’t I do that?” Why was I jumping the gun to pay immediately and get started?
In the next couple of days I started reading and working through the material in the free course while I was commuting in the BMTC bus to office and back home.
I was at 17% completion and the time to get the early bird discount for the paid course was running out. While coming back home, I explained to my wife what I learned that day from the course, and how I changed a few parameters to get my result, etc. She kind of knew I wanted to take that course badly.
As soon as I reached home, I did go to the course payment page and paid the course’s first installment! (without telling my wife!). I knew she would yell at me at first, but she’ll be okay with it.
To my surprise, she did not yell and told me to take it up seriously and learn what I wanted to learn.
The Beginning
So, the journey began.
I knew I was not going to get any free time to study any of the material in the course. Not to mention the amount of workload I had in office and the deadlines associated with the work. All I had was the 5 hours of my commute time and that I needed to squeeze out every bit of time available to me over weekdays and weekends to finish the course. Success or failure of my learning greed was hinging on how effectively I would use my commute time.
I was confident that I would be able to finish the course.
The first week of the course passed easily — there is nothing more than the installation and some basic stuff. In subsequent weeks, I realized the material was getting tougher to handle (at least for me).
Pathemata Mathemata : Learning through pain and suffering
It had been more than 10 years since I sat firmly in one place and studied. On top of it, over the years my math, calculus, and statistics had reduced to the bare bones. I knew it would not be enough just to read the material provided in the course.
If I had to master something, I needed to understand the basics. To understand the basics, I needed to know and refresh my Algebra and Calculus. It was not an easy task. Thanks to 3blue1brown youtube channel a mammoth task of refreshing the basics of math became a breeze. That boosted my confidence level.
I started to dig deeper and started to understand the materials in a better way. A lot of googling to get a better grasp on the concepts that were explained in the course was required. I did skim through the course material, and I was following their blog, which helped me to stay one step ahead all the time. When I was in week-3 I was already looking at the ML/AI Tensorflow and other related material. I did not understand them much at that time. But that led me in the right direction.
While reading about ML and AI, I found the MIT open courseware on AI by Prof. Patrick. I fell in love with his lectures. The way he explains concepts, it feels like music, you get the beats of his teaching without knowing that you are trying to solve a mathematically complex problem. There were around 24 video lectures each spanning an hour long. But, worth every min of your time you spend on it. Apart from that, there were followup lectures by TA, those followup lectures were a gem! They just solidify my understanding of the concepts. The complete list of resources can be found here.
I still watch videos during my commute. The only difference is I am learning something new every minute. My mind is not idle as before. More importantly, I am enjoying what I am doing.
I started finding great videos and lectures one after the other, each one with its own value-add to my knowledge and learning.
I learned statistics, Python, ML concepts like SVM, K-nearest neighbors, CNN, DNN, Tensorflow, Scikit-learn, Pandas, Matplotlib, HTML, HTML5, CSS, Bootstrap, Javascript, Angular Js, node JS, Web development, etc all of it during my commute.
Katharsis : Cleansing of the mind and the soul
Yes, it was a difficult journey both physically and mentally. But it was worth every minute of my life. I did finish the course by completing a project, which was required to get the certificate of completion. Here is a demo
I feel my life went through “Katharsis“. And I’m very happy about it.
Was it worth spending $300? Absolutely!
It was not an easy decision to shell out $300 when you live on a paycheck to paycheck basis every month. But I am happy that I spent it on myself to enhance my knowledge than spending it on some gadget. I found the course very fulfilling.
Thanks to my wife, who is always supportive of me, and helped me to find what was missing in my life back again!
The End
Now, the big question is.. Did I find the thief?
The answer is No.
Sometimes it is better to let things go. Because, when you let things go, life becomes a stream, if you still try to contain it, you are creating a pond.
Subscribe & Download Code
If you liked this article please subscribe to our newsletter. You will also receive a free Computer Vision Resource Guide and access to all code examples in this blog. In our newsletter, we share OpenCV tutorials and examples written in C++/Python, and Computer Vision and Machine Learning algorithms and news.