Clarifying some terms I came across in my CS3244 project on ML and Computer Vision.
The project that my team of six is working on is a pneumonia detection machine learning tool to help medical staff. This is my first time actually working on an actual ML project and hence, i would like to list down my learning points so that i don’t forget about them.
What is Jupyter Notebook?
Jupyter Notebook for Beginners Tutorial — Dataquest
The Jupyter Notebook is an incredibly powerful tool for interactively developing and presenting data science projects…
What are keypoints descriptors?
They provide information about the raw image data that we want to feed into a model for machine learning.
Keypoints usually contain information about their position, and sometimes their coverage area in the image. By just knowing some general characteristics of the extracted keypoints (they are centered around blobs, edges, prominent corners…) , you will not know how different or similar one key point is to the other.
Hence, this is where descriptors come in. Descriptors help to compare the key points. They summarise some characteristics of the key points. It assigns a numerical description to the area of the image the keypoint refers to.
Why do we use keypoint descriptors?
begingroup$ One important thing to understand is that after extracting the keypoints, you only obtain information about…
What is SIFT?
It stands for Scale Invariant Feature Transform. It is a feature detection algorithm used to extract key points of images in computer vision.
We can also use the keypoints generated using SIFT as features for the image during model training. The major advantage of SIFT features, over edge features or hog features, is that they are not affected by the size or orientation of the image.
A Detailed Guide to the Powerful SIFT Technique for Image Matching (with Python code)
Overview A beginner-friendly introduction to the powerful SIFT (Scale Invariant Feature Transform) technique Learn how…
What is SVM?
Support vector machines are supervised learning models with associated learning algorithms that analyze data used for classification and regression analysis.
Understanding SVMs’: For Image Classification
Hello friends! Welcome back… In this fourth tutorial we are going to understand Support Vector Machines. An algorithm…
What is XGBoost?
XGBoost is like SVM. It is just another model, using decision trees but boosted.
XGBoost Documentation — xgboost 1.1.0-SNAPSHOT documentation
XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable…
What is K-means?
Image classifiers and Image detectors are two different things.
The former classifies and differentiates different images. For eg, classify an image to be either a rose or a lily flower. The latter checks for the presence of an item. For eg, check if the image contains a face.
How does machine learning code and model work?
Feed data to a model. Then the model will produce the output.
Or you can feed descriptors to the model.
How is Computer Vision different from Machine learning? Are these the same 2 fields?
Computer Vision is most probably different from machine learning but has some intersections.
“The invention of machine learning rendered the entire field of computer vision redundant.”
This is probably because computer vision is the study of mathematical concepts and application of them to detect or classify images. For eg, count the number of image pixels and use mathematical formulas to detect changes in the pixels calculations which in turn allows us to find out which part of the image we are looking at. On the other hand, machine learning is simply getting the computers to learn how to classify images or detect objects without having to use mathematical calculations. Machine learning is a different method for doing things with images.
Convolution Neural Networks?
They are like neural networks, but made of convoluted neural layers.
The sliding grid example.
Representation of Image by the computer
The computer views an image as a 3D array. (Width, Height, 3) where 3 are the channels representing Red, Green, Blue values.
To allow the computer understand images, we have to use numpy to convert images into arrays.
Or alternatively use cv2
code is just:
img = cv2.imread(“image.jpd”)
Also can use skimg