How can a computer recognize a person in a picture? How can it identify a car or detect an object in an image?
These are some of the questions I explored while learning Computer Vision.
As a beginner, I wanted to understand how computers work with images and how AI models recognize objects. I started by learning about pixels and image processing, then moved on to image classification, object detection, YOLO, and image segmentation.
Here are some of the things I learned along the way.
1. How Do Computers See Images?
The first thing I learned is that computers represent images using numbers.
A digital image is made up of small units called pixels. Each pixel contains information about the color or brightness at a particular point in the image.
One common way to represent color is RGB, which stands for Red, Green, and Blue.
For example:
Red: (255, 0, 0)
Green: (0, 255, 0)
Blue: (0, 0, 255)
Black: (0, 0, 0)
White: (255, 255, 255)
A color image usually has three channels, one for each color. This means a 200 Γ 300 image contains 180,000 color values.
Understanding pixels helped me see that a computer does not see a photograph exactly as a human does. It processes the numerical information that represents the image.
2. Learning Basic Image Processing
After learning about pixels, I explored different ways of changing images using Python.
Grayscale: Converts a color image into shades of gray. It can make some image-processing tasks simpler, but it removes color information.
Blurring: Makes an image less sharp. It can reduce some noise, but too much blur can hide important details.
Sharpening: Makes edges and details appear clearer, although excessive sharpening can affect image quality.
Edge detection: Helps identify boundaries where the brightness changes. These boundaries can reveal the shapes of objects.
I also learned about the Sobel operator, which uses small filters to detect changes in image brightness.
This introduced me to the idea of convolution. I learned that filters can be applied to image pixels to identify patterns, while Convolutional Neural Networks can learn useful filters from data.
These concepts helped me understand some of the basic ideas behind image analysis.
** 3. What Is Image Classification?**
Image classification is the process of predicting what an image contains. For example, a model might classify an image as a dog, a car, or a computer screen.
While learning about image classification, I used a pretrained model to analyze an image. The model returned several possible labels, each with a different score:
- Website: 87.5%
- Menu: 8.4%
- Screen: 2.2%
- Television: 0.7%
- Brass: 0.4% The model predicted βwebsiteβ with the highest score of 87.5%. This helped me understand that a classification model can provide several possible predictions, ranked by their scores. However, the highest score does not always mean the prediction is correct. I also learned that image classification generally predicts what an image contains without showing the exact location of an object. This is one difference between image classification and object detection. Object detection can identify objects and show their locations using bounding boxes.
4. What Is Object Detection?
Object detection identifies objects in an image and shows where they are located.
It usually provides three things:
Label: The name of the detected object.
Bounding box: A rectangle showing where the object is located.
Confidence score: A score associated with the prediction.
For example, a model could identify two people in a photograph and draw a box around each person.
This is different from classification because object detection can identify multiple objects and show their locations in the same image.
5. What Is YOLO?
YOLO stands for You Only Look Once. It is a family of AI models used for object detection.
I learned that YOLO can identify objects, predict their locations, and provide confidence scores.
The general process involves giving an image to the model, processing its visual features, predicting possible objects, and filtering the results.
The final output can display bounding boxes and labels on the image.
I also learned that object detection models can produce duplicate or incorrect predictions. This is why the results need to be checked rather than accepted automatically.
6. Understanding Confidence Thresholds
A confidence threshold controls which predictions an object detection model keeps.
For example, setting a threshold to 0.10 means using a score of 10% as the filtering threshold in a typical detection setup.
A lower threshold can allow more predictions, including incorrect ones. A higher threshold filters out more low-scoring predictions, but it can also remove real objects.
While exploring object detection, I observed predictions such as cake, toothbrush, and scissors, even though those labels did not appear to match the screenshot I was examining.
This helped me understand that models can make mistakes.
I learned that a confidence score is not a guarantee of correctness. We need to examine the image and evaluate the predictions to understand how well a model is performing.
7. What Is Image Segmentation?
Image segmentation is another Computer Vision task. It identifies regions or pixels belonging to particular categories or objects.
I learned about three types:
Semantic segmentation: Assigns a category to each pixel, such as road, building, or person.
Instance segmentation: Separates individual objects, even when they belong to the same category.
Panoptic segmentation: Combines semantic and instance segmentation.
The main difference is that object detection uses bounding boxes, while segmentation can provide a more detailed representation of an object's shape.
Learning about segmentation helped me understand that Computer Vision includes more than image classification and object detection.
8. How Do Image Changes Affect Predictions?
I also explored how changing an image can affect what a model predicts.
Some of the changes I studied included:
Making an image darker.
Rotating an image upside down.
Reducing its resolution.
Applying blur.
I learned that these transformations can change the visual information available to a model.
For example, a blurred image may hide important details, while a low-resolution image may lose information about small objects. Making an image larger again does not restore details that were lost when reducing its resolution.
I also learned that experiments should be carried out carefully. To understand the effect of a transformation, it is important to compare the results using suitable images and consistent settings.
9. Why Do Computer Vision Models Make Mistakes?
One important thing I learned is that a model can run successfully and still produce an incorrect result.
Some reasons include:
Poor lighting or image quality.
Objects that are too small or partly hidden.
Similar-looking objects.
Limitations in the model.
Differences between the training images and the images being analyzed.
This helped me understand why we should not depend only on a model's output. We need to check its predictions and test its performance.
10. What Is Transfer Learning?
Transfer learning involves using a model that has already been trained and adapting it to another task.
Instead of training a model from the beginning, we can start with a pretrained model and fine-tune it using suitable data.
For example, a pretrained model could be adapted to recognize certain crop diseases using labelled images of local crops.
I learned that the quality and relevance of the training data matter. A model should also be tested on separate images to see how well it works on examples it has not seen during training.
This is especially important when developing Computer Vision applications for different environments, including Rwanda.
11. Applications of Computer Vision
Computer Vision can be useful in many areas.
Agriculture: Identifying plant diseases and monitoring crop growth.
Healthcare: Supporting the analysis of medical images under appropriate professional supervision.
Transportation: Detecting vehicles, pedestrians, and road signs.
Environment: Monitoring vegetation, wildlife, and changes in land use.
Accessibility: Helping people with visual impairments understand objects and text around them.
These are examples of how Computer Vision could help solve real-world problems. However, each application needs to be tested carefully to make sure it works reliably in its intended environment.
12. What I Have Learned
Studying Computer Vision has helped me understand several important concepts:
Images are represented using pixels and numerical values.
Image processing techniques change how images look.
Image classification predicts what an image contains.
Object detection identifies objects and their locations.
YOLO is used for efficient object detection.
Confidence thresholds affect which predictions are retained.
Image segmentation provides information about individual pixels and object shapes.
Changes in image quality can affect model predictions.
Models can make mistakes even when the code runs correctly.
Transfer learning can help adapt pretrained models to new tasks.
What I Want to Learn Next
I want to continue learning about Convolutional Neural Networks, model training, and how to evaluate Computer Vision models using metrics such as precision, recall, and mean Average Precision.
I also want to improve my Python skills and learn how to prepare datasets and fine-tune models for practical applications.
Conclusion
My learning journey has helped me understand the basics of Computer Vision and how AI models work with images.
From pixels and image processing to classification, YOLO, and segmentation, each topic has helped me understand a different part of the field.
I am still a beginner, but I now have a better understanding of how models make predictions and why those predictions are not always correct.
I look forward to learning more and using these skills to explore practical problems in Rwanda and beyond.
Top comments (3)
Good work sharing your computer vision learning journey! π I learned a lot from your explanation. I think it would be even better if you added some images or practical examples to show the difference between image classification, object detection, and image segmentation. This would help beginners like me understand them more easily. You could also try showing how a model works with clear and blurry images. Overall, I like your work, and I look forward to learning more from your next blog!
Great work sharing your Computer Vision learning journey! π I love how you explained concepts like image classification, object detection, YOLO, and segmentation using practical examples. Your discussion about confidence thresholds and why AI models sometimes make mistakes was especially insightful. It's inspiring to see how you're connecting what you've learned with real-world challenges in Rwanda. Keep learning and building β I'm looking forward to seeing what you create next! π
This is a great explanation of your Computer Vision learning journey! I especially like how you connected the theoretical concepts with practical experiments using pretrained models, YOLO, and image transformations. The lesson that a model can run successfully but still produce incorrect predictions is particularly important. It reminds us that understanding AI is not only about writing code but also about evaluating results and recognizing limitations. Keep learning and building! I look forward to seeing how you apply these skills to real-world problems.