Tuesday, June 15, 2021

Getting Started with OpenCV (C++/Python) + An Adventure

Today, I am sharing a new Getting Started with OpenCV blog series [C++ and Python] and an adventure of an AI entrepreneur.  ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Hello trend,

This is Satya Mallick from LearnOpenCV.com.

Last week we published our free Getting Started with OpenCV video tutorial for Python users.

At the same time we have also been working on a blog series that covers the material for beginners in both C++ and Python.

https://learnopencv.com/getting-started-with-opencv/

For beginners who code in only one language (C++ or Python), seeing the same code in a different language can be illuminating and it will help you make an easy transition to the other language. Remember, good engineers are multilingual!

ADVENTURES OF AN AI ENTREPRENEUR

True story from last week.

The algorithms we had developed for an Augmented Reality (AR) application worked like magic. We worked furiously to package the algorithms in an iPhone app, and we were ready just days before an important trade show.

Now, I cannot tell you details of what the app does because the information is not public yet, but I can say a little about the setup.

This AR app was developed for a 28ft x 28ft photo booth for vehicles but we could not experiment with the actual booth because traveling was risky during COVID. The app was developed entirely based on video data collected using the photo booth.

That was a mistake. A HUGE mistake!

The first time our client tried the app using live video stream on the booth, it BOMBED! I could sense that our client was deeply disappointed - the trade show was days away.

I had to make this right, and live up to the reputation my computer vision consulting company has built over the last 7 years.

I took the earliest flight from San Diego, California reaching Tampa, Florida at 3 AM.

I was at the client's location at 10 AM. As soon as saw the booth, stress and anxiety melted away. I was in full control now; it was my arena. The clock on the wall ominously ticked away reminding of the impending deadline. The fight was on!

I was supported by a stellar team and our training was would ultimately save the day.

We use the same algorithms in our consulting work that we teach in our courses. The deep learning based classification, detection, and segmentation techniques used in the app are also taught in Deep Learning with PyTorch. ARUCO markers used for fast ground plane estimation will be covered in OpenCV for Beginners. Robust estimation of homography is covered in Computer Vision I. In the near future, the app will use smart photo filters which are also covered in our courses.

We also solved many problems using techniques we teach in our courses. For example, one of the first problems we encountered in the new setup was motion blur. Many frames were blurred due to camera shake. We used a video stabilization algorithm to mitigate the problem but still ARUCO marker detection was impossible on some frames. We quickly implemented blur detection to throw away blurry frames by literally copying code from one of course assignments.

The day the trade show opened, I was up at our client's site at 4 AM and in my final tests our app worked perfectly! As the day broke, I invited strangers passing by to demo the app and share my excitement.

They loved it!

The story ends in an anti-climax. We never got to demo the app at the tradeshow because of mechanical problems at their site unrelated to our app. On the positive note, we had a very happy client who was moved by our commitment to the project and finally it was time to relax.

That balmy evening, sitting by Tampa Bay on a beach chair sipping club soda and lime, I was exhausted and yet deeply satisfied. We spend years on our education, and it is only during moments like these we truly appreciate the value of the knowledge we have accumulated through sustained hard work.

I remembered a quote often attributed to the Navy SEALS -

Under pressure, you don't rise to the level of your expectations, you sink to the level of your training!

KICKSTARTER ENDS SOON

To perform under pressure, you got to raise the level of your training. Official OpenCV courses in computer vision and AI are the best online education you can get on the subject.

During this Kickstarter campaign we are offering all our courses at a deep discount.

  1. OpenCV for Beginners [ 4 weeks ]: Short and easy course for beginners. Starts in Sep 2021.
  2. Computer Vision I : Introduction [ 3-4 months ] : An introductory course in computer vision and AI. Enrollment starts in July 2021.
  3. Computer Vision II : Applications [3-4 months] : A course focussed on building computer vision and AI applications. Enrollment starts in July 2021.
  4. Deep Learning with PyTorch : A practical hands-on Deep Learning course taught using PyTorch with a perfect mix of theory and applications. Enrollment starts in July 2021.
  5. Deep Learning with Tensorflow and Keras : Deep Learning course taught using Tensorflow and Keras and very similar conceptually to Deep learning with PyTorch. Enrollment starts in Jan 2022.

All backers of this campaign will also receive a free 3-hour Python crash course that will cover basic Python and best practices, numpy, and matplotlib.

Are you ready for your own AI adventure?

AI BASICS TO MASTERY

Cheers!

Satya

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Generate a catchy title for a collection of newfangled music by making it your own

Write a newfangled code fragment at an earlier stage to use it. Then call another method and make sure their input is the correct one. The s...