Learning path of computer vision

I am trying to make a computer vision project like detect objects from a video or recording.

I finished “Supervised Machine Learning: Regression and Classification”
and “Advanced Learning Algorithms” since CV doesn’t need “Unsupervised Learning, Recommenders, Reinforcement Learning” so I am not going to do that course.

Can anyone give me some suggestion of which course should I go for next?

My plan is go for “Convolutional Neural Networks” and then finish the “Advanced Computer Vision with TensorFlow” meanwhile try to do some math course.

" Deep Learning Specialization" is too long, so I am planning to skip the first three courses, I know andrew introduced more details like adam optimization.
But the main idea of neural network is introduced in the “Advanced Learning Algorithms”, so I will finish these three courses after my computer vision project.

Is this a good path? Any suggestions?

2 Likes

If you skip DLS C1, C2, and C3, you will need to get some TensorFlow experience before you can succeed in C4 (Conv NN’s).

C4 assumes you’ve already gained sufficient experience, so it moves pretty quickly.

2 Likes

How about course Unsupervised Learning, Recommenders, Reinforcement Learning?

Can i go back to redo this one? Since CV just supervised learning

You don’t need MLS C3 for your interest in computer vision.

If you skip DLS C1, C2, and C3, you will need to get some TensorFlow experience before you can succeed in C4 (Conv NN’s).

How about the algorithm and knowledge of neural network? does “Advanced Learning Algorithms” gives me enough background to start or I need to go deep? Any algorithms that course 4 used are not in the “Advanced Learning Algorithms”?

@Bio_J it is much more expensive, but Opencv.org has their own set of classes/training program. Personally, while you could, say, write your own OS from scratch-- Such a thing would be silly in most cases today, unless you have a concept or idea that really optimizes or otherwise can’t be implemented with current libraries. I would suggest you hunt around there first to see if what they have meets your needs.

1 Like

If that’s the one in the Machine Learning Specialization, no it isn’t sufficient for computer vision.

1 Like

I guess right now my questions is when you say " Opencv.org has their own set of classes/training program" do you mean like use their pre-trained model or something? Or like to grab some model from github and train with your own data?

I am pretty new to ML and don’t have much experience, so right now I am not quit sure about how the object detection works. my plan was finish the ML course and learn about yolo8 then build something by myself

This is a very difficult task unless you first learning some fundamentals of image processing. The Conv NN course teaches that.

1 Like

Hello @Bio_J

If you are planning to make a computer vision project, then I will surely tell you to complete all the courses of DLS and then tensorflow courses, tensorflow developer professional and then tensorflow Advanced technique specialisation.

Planning to do selective courses from the specialisation will be a drawback on your end on missing out transfer learning. How neural network is discussed in Machine Learning Specialisation is way different than the Deep Learning Specialisation, different per se detail oriented explanation on various layer to create model algorithm. If you are already an established data scientist than probably it might be okay. But I highly recommend you to complete all the courses in these specialisation.

Like you plan to do Advanced Computer Vision with TensorFlow, but in these courses you would not cover custom Callback, creating custom loss function, creating a VGG network. You get idea about ResNet model and other important pointers. This suggestion is from being a learner point of view because once you have done the selective courses and then plan to go back and complete the other courses would always feel like time consuming.

Deep Learning Specialisation is lengthy because it covers every details from what is an activation to what is a bounding box, how RNN differs from dense layers, how dataset needs to divided, GRU.

I had done MLS after I completed DLS, and I was happy I did that, as I felt MLS is more a beginner specialisation but covered in detail the machine learning perspective, it doesn’t cover why and which layer is used for what purpose, so these are covered more appropriately in DLS.

At the end, it is your personal choice.

Keep learning!!!

Regards
DP

4 Likes

Thank you for the detailed suggestion. I do feel some pieces are missing of neural network, like how we determine how many layers and how many neurons should use in a neural network in order to optimize the performance. I’ll go finish the DLS training then.

Those are only the mere basics. Do not look for the DLS course to explain this, it assumes you already know this.

2 Likes

Some part of it is explained in tensorflow but as Tom mentions, you would not get a direct list of given how many layers needs to be used but it does explains how using which layer will have what effect on your model, which is the basic understanding required to make a model.

Regards
DP

1 Like

Can anyone give me some suggestion of which course should I go for next?

I took the TensorFlow Developer Professional Certificate course. The second section covers Convolutional Neural Networks in TensorFlow

This was my first exposure to working with images. The course does well to walk you through all the technical details on how the neural network recognizes and classifies images. It’s very detailed in going through the techniques for pre-processing images and setting up the pipelines to reduce overfitting. There are also multiple datasets and examples that you’ll work with to practice.

TensorFlow is a big code base, compared to other models, so I believe it comes with a good level of complexity. For these courses, unless you are very confident in your skill level, I think it would benefit the learning to take an entry level deep learning course first. It’s time consuming, but I learned, it’s better to start with strong foundation, then try to develop skills on the fly for a course with high complexity.

Good luck, cheers

2 Likes

@dan_herman I’m not quite there yet but became curious by Bio_J’s question-- Can TF handle live/streaming video in the case of inference ? I mean I know OpenCV certainly can and that is why it was my first suggestion.

1 Like

Here is a tutorial on MoViNet

This tutorial demonstrates how to use a pretrained video classification model to classify an activity (such as dancing, swimming, biking etc) in the given video.

The model architecture used in this tutorial is called MoViNet (Mobile Video Networks). MoVieNets are a family of efficient video classification models trained on huge dataset (Kinetics 600).

I’m not sure about the live streaming. I know Tensorflow works with Kafka for event streaming. But I’m not sure if live video is supported.

1 Like

@Bio_J Hello! I’m also new to this specialization. It’s very interesting for me to ask Chat GPT for help and ask about every line of code it suggests. At least I have questions, and he gives me terms that I can Google. :slight_smile:

1 Like

I am pretty sure TF can by integrated with yolo, but people was suggesting to use pytorch, as it’s more smooth to use than TF according to them.

There are lots of folks that prefer one platform or the other. They both do the same job.

The Deep Learning Specialization in Course 4 has a programming lab that uses YOLO and TensorFlow.

2 Likes

kinda related to OPs question but Iam familiar with YOLO but I’m looking for something to deepen my knowledge about convolutional blocks (ResNet, Bottleneck, Skip connections and so on) will I find some mention of them in the CV course ?