Computer Vision : Everything You Need To Know About It

What is computer vision?
18 Open-Source Computer Vision Projects | Computer Vision Projects

Computer vision is a field of artificial intelligence and machine learning that studies the technologies and tools that allow for training computers to perceive and interpret visual information from the real world.

‘Seeing’ the world is the easy part: for that, you just need a camera. However, simply connecting a camera to a computer is not enough. The challenging part is to classify and interpret the objects in images and videos, the relationship between them, and the context of what is going on. What we want computers to do is to be able to explain what is in an image, video footage, or real-time video stream.

That means that the computer must effectively solve these three tasks:

  • Automatically understand what the objects in the image are and where they are located.
  • Categorize these objects and understand the relationships between them.
  • Understand the context of the scene.

In other words, a general goal of this field is to ensure that a machine understands an image just as well or better than a human. As you will see later on, this is quite challenging.

How does computer vision work?

In order to make the machine recognize visual objects, it must be trained on hundreds of thousands of examples. For example, you want someone to be able to distinguish between cars and bicycles. How would you describe this task to a human?

Why do bicycle wheels usually require more pressure than those of a car despite having to support 5 times, give or take a stone, more weight per axle? - Quora

Normally, you would say that a bicycle has two wheels, and a machine has four. Or that a bicycle has pedals, and the machine doesn’t. In machine learning, this is called feature engineering.

However, as you might already notice, this method is far from perfect. Some bicycles have three or four wheels, and some cars have only two. Also, motorcycles and mopeds exist that can be mistaken for bicycles. How will the algorithm classify those?

When you are building more and more complicated systems (for example, facial recognition software) cases of misclassification become more frequent. Simply stating the eye or hair color of every person won’t do: the ML engineer would have to conduct hundreds of measurements like the space between the eyes, space between the eye and the corners of the mouth, etc. to be able to describe a person’s face.

Moreover, the accuracy of such a model would leave much to be desired: change the lighting, face expression, or angle and you have to start the measurements all over again.

Here are several common obstacles to solving computer vision problems.

Different lighting
Basic 3D lighting techniques for 3D design projects

For computer vision, it is very important to collect knowledge about the real world that represents objects in different kinds of lighting. A filter might make a ball look blue or yellow while in fact it is still white. A red object under a red lamp becomes almost invisible.

What is the Solution to a Noisy Mixer Grinder? - MixerJuicer

If the image has a lot of noise, it is hard for computer vision to recognize objects. Noise in computer vision is when individual pixels in the image appear brighter or darker than they should be. For example, videocams that detect violations on the road are much less effective when it is raining or snowing outside.

Unfamiliar angles
Free Vector | Stationery office thumbtack, realistic set of red glossy push pins for fixing on board remind

It’s important to have pictures of the object from several angles. Otherwise, a computer won’t be able to recognize it if the angle changes.

Overlapping Geometric Shapes Photograph by Dorling Kindersley/uig

When there is more than one object on the image, they can overlap. This way, some characteristics of the objects might remain hidden, which makes it even more difficult for the machine to recognize them.

Different types of objects
Free Vector | Filament bulbs set. retro edison lamps, incandescent vintage lightbulbs of different shapes and forms with heated wire hanging

Things that belong to the same category may look totally different. For example, there are many types of lamps, but the algorithm must successfully recognize both a nightstand lamp and a ceiling lamp.

Fake similarity

Items from different categories can sometimes look similar. For example, you have probably met people that remind you of a celebrity on photos taken from a certain angle but in real life not so much. Cases of misrecognition are common in CV. For example, samoyed puppies can be easily mistaken for little polar bears in some pictures.

It’s almost impossible to think about all of these cases and prevent them via feature engineering. That is why today, computer vision is almost exclusively dominated by deep artificial neural networks.

Convolutional neural networks are very efficient at extracting features and allow engineers to save time on manual work. VGG-16 and VGG-19 are among the most prominent CNN architectures. It is true that deep learning demands a lot of examples but it is not a problem: approximately 657 billion photos are uploaded to the internet each year!

Uses of computer vision
10 Examples of Computer Vision Applications | Wovenware Blog

Interpreting digital images and videos comes in handy in many fields. Let us look at some of the use cases:

  • Medical diagnosis. Image classification and pattern detection are widely used to develop software systems that assist doctors with the diagnosis of dangerous diseases such as lung cancer. A group of researchers has trained an AI system to analyze CT scans of oncology patients. The algorithm showed 95% accuracy, while humans – only 65%.
  • Factory management. It is important to detect defects in the manufacture with maximum accuracy, but this is challenging because it often requires monitoring on a micro-scale. For example, when you need to check the threading of hundreds of thousands of screws. A computer vision system uses real-time data from cameras and applies ML algorithms to analyze the data streams. This way it is easy to find low-quality items.
  • Retail. Amazon was the first company to open a store that runs without any cashiers or cashier machines. Amazon Go is fitted with hundreds of computer vision cameras. These devices track the items customers put in their shopping carts. Cameras are also able to track if the customer returns the product to the shelf and removes it from the virtual shopping cart. Customers are charged through the Amazon Go app, eliminating any necessity to stay in the line. Cameras also prevent shoplifting and prevent being out of product.
  • Security systems. Facial recognition is used in enterprises, schools, factories, and, basically, anywhere where security is important. Schools in the United States apply facial recognition technology to identify sex offenders and other criminals and reduce potential threats. Such software can also recognize weapons to prevent acts of violence in schools. Meanwhile, some airlines use face recognition for passenger identification and check-in, saving time and reducing the cost of checking tickets.
  • Animal conservation. Ecologists benefit from the use of computer vision to get data about the wildlife, including tracking the movements of rare species, their patterns of behavior, etc., without troubling the animals. CV increases the efficiency and accuracy of image review for scientific discoveries.
  • Self-driving vehicles. By using sensors and cameras, cars have learned to recognize bumpers, trees, poles, and parked vehicles around them. Computer vision enables them to freely move in the environment without human supervision.
Main problems in computer vision
Personal Computer Solves Complex Problems Tens of Times Faster Than Supercomputers?

Computer vision aids humans across a variety of different fields. But its possibilities for development are endless. Here are some fields that are yet to be improved and developed.

Scene understanding

CV is good at finding and identifying objects. However, it experiences difficulties with understanding the context of the scene, especially if it’s non-trivial. Look at this image, for example. What do you think they are doing (don’t look at the URL!)?

You will immediately understand that these are children wearing cardboard boxes on their heads. It is not some sort of postmodern art that tries to expose the meaninglessness of school education. These children are watching a solar eclipse. But if you don’t have this context, you might never understand what’s going on. Artificial intelligence still feels like that in a vast majority of cases. To improve the situation, we would need to invent general artificial intelligence (i.e. AI whose problem-solving capabilities possibilities are more or less equal to that of a human and can be applied universally), but we are very far from doing that.

Privacy issues

Computer vision has much to do with privacy since the systems for face recognition are being adopted by governments of different countries to promote national security. AI-powered cameras installed in the Moscow metro help catch criminals. Meanwhile, Chinese authorities profile Uyghur individuals (a Muslim ethnic minority) and single them out for tracking and incarceration. When facial recognition is everywhere, everything you do can be subject to policies and shaming. AI ethicists are still to figure out the consequences of omnipresent CV for public wellbeing.

Summing up

Computer vision is an innovative field that uses the latest machine learning technologies to build software systems that assist humans across different fields. From retail to wildlife conservation, smart algorithms solve the problems of image classification and pattern recognition, sometimes even better than humans.

AI Ethics in 2021: Ethical Dilemmas which needs to be answered

What Are The Ethical Problems in Artificial Intelligence? - GeeksforGeeks

We will not talk about how creating artificial intelligence systems is challenging from a technical point of view. This is also an issue, but of a different kind.

I would like to focus on ethical issues in AI, that is, those related to morality and responsibility. It appears that we will have to answer them soon. Just a couple of days ago, Microsoft announced that their AI has surpassed humans in understanding the logic of texts. And NIO plans to launch its own autonomous car soon, which could be much more reliable and affordable than Tesla. This means that artificial intelligence will penetrate even more areas of life, which has important consequences for all of humanity.

What happens if AI replaces humans in the workplace?
Why AI Is Not a Threat to Human Jobs - Insurance Thought Leadership

In the course of history, machines have taken on more and more monotonous and dangerous types of work, and people have been able to switch to more interesting mental work.

However, it doesn’t end there. If creativity and complex types of cognitive activity such as translation, writing texts, driving, and programming were the prerogative of humans before, now GPT-3 and Autopilot algorithms are changing this as well.

Take medicine, for example. Oncologists study and practice for decades to make accurate diagnoses. But the machines have already learned to do it better. What will happen to specialists when AI systems become available in every hospital not only for making diagnoses but also for performing operations? The same scenario can happen with office workers and with most other professions in developed countries.

If computers take over all the work, what will we do? For many people, work and self-realization are the meaning of life. Think of how many years you have studied to become a professional. Will it be satisfying enough to dedicate this time to hobbies, travel, or family?

Who’s responsible for AI’s mistakes?
Who's to blame when artificial intelligence systems go wrong?

Imagine that a medical facility used an artificial intelligence system to diagnose cancer and gave a patient a false-positive diagnosis. Or the criminal risk assessment system made an innocent person go to prison. The concern is: who is to blame for this situation?

Some believe that the creator of the system is always responsible for the error. Whoever created the product is responsible for the consequences of their driving artificial intelligence. When an autonomous Tesla car hit a random pedestrian during a test, Tesla was blamed: not the human test driver sitting inside, and certainly not the algorithm itself. But what if the program was created by dozens of different people and was also modified on the client-side? Can the developer be blamed then?

The developers themselves claim that these systems are too complex and unpredictable. However, in the case of a medical or judicial error, responsibility cannot simply disappear into thin air. Will AI be responsible for problematic and fatal cases and how?

How to distribute new wealth?

Compensation of labor costs is one of the major expenses of companies. By employing AI, businesses manage to reduce this expense: no need to cover social security, vacations, provide bonuses. However, it also means that more wealth is accumulated in the hands of IT companies like Google and Amazon that buy IT startups.

Right now, there are no ready answers to how to construct a fair economy in a society where some people benefit from AI technologies much more than others. Moreover, the question is whether we are going to reward AI for its services. It may sound weird, but if AI becomes as developed as to perform any job as well as a human, perhaps it will want a reward for its services

Bots and virtual assistants are getting better and better at simulating natural speech. It is already quite difficult to distinguish whether you communicated with a real person or a robot, especially in the case of chatbots. Many companies already prefer to use algorithms to interact with customers.

We are stepping into the times when interactions with machines become just as common as with human beings. We all hate calling technical support because often, the staff may be incompetent, rude, or tired at the end of the day. But bots can channel virtually unlimited patience and friendliness.

So far, the majority of users still prefer to communicate with a person, but 30% say that it is easier for them to communicate with chatbots. This number is likely to grow as technology evolves.

How to prevent artificial intelligence errors?
Use of Artificial Intelligence to reduce Medical Errors – Carna

Artificial intelligence learns from data. And we have already witnessed how chatbots, criminal assessment systems, and face recognition systems become sexist or racist because of the biases inherent in open-source data. Moreover, no matter how large the training set is, it doesn’t include all real-life situations.

For example, a sensor glitch or virus can prevent a car from noticing a pedestrian where a person would easily deal with the situation. Also, machines have to deal with problems like the famous trolley dilemma. Simple math, 5 is better than 1, but it isn’t how humans make decisions. Excessive testing is necessary, but even then we can’t be 100% sure that the machine will work as planned.

Although artificial intelligence is able to process data at a speed and capability far superior to human ones, it is no more objective than its creators. Google is one of the leaders in AI. But it turned out that their facial recognition software has a bias against African-Americans, and the translation system believes that female historians and male nurses do not exist.

We should not forget that artificial intelligence systems are created by people. And people are not objective. They may not even notice their cognitive distortions (that’s why they are called cognitive distortions). Their biases against a particular race or gender can affect how the system works. When deep learning systems are trained on open data, no one can control what exactly they learn.

When Microsoft’s bot was launched on Twitter, it became racist and sexist in less than a day. Do we want to create an AI that will copy our shortcomings, and will we be able to trust it if it does?

What to do about the unintended consequences of AI?

It doesn’t have to be the classic rise of the machines from an American blockbuster movie. But intelligent machines can turn against us. Like a genie from the bottle, they fulfill all our wishes, but there is no way to predict the consequences. It is difficult for the program to understand the context of the task, but it is the context that carries the most meaning for the most important tasks. Ask the machine how to end global warming, and it could recommend you to blow up the planet. Technically, that solves the task. So when dealing with AI, we will have to remember that its solutions do not always work as we would expect.

How to protect AI from hackers?
How to prevent adversarial attacks on AI systems | InfoWorld

So far, humanity has managed to turn all great inventions into powerful weapons, and AI is no exception. We aren’t only talking about combat robots from action movies. AI can be used maliciously and cause damage in basically any field for faking data, stealing passwords, interfering with the work of other software and machines.

Cybersecurity is a major issue today because once AI has access to the internet to learn, it becomes prone to hacker attacks. Perhaps, using AI for the protection of AI is the only solution.

Humans dominate the planet Earth because they are the smartest species. What if one day AI will outsmart us? It will anticipate our actions, so simply shutting down the system will not work: the computer will protect itself in ways yet unimaginable to us. How will it affect us that we are no longer the most intelligent species on the planet?

How to use artificial intelligence humanely?
AI is going to hook us – commercially and humanely - Reputation Today

We have no experience with other species that have intelligence equal to or similar to that of humans. However, even with pets, we try to build relationships of love and respect. For example, when training a dog, we know that verbal appraisal or tasty rewards can improve results. And if you scold a pet, it will experience pain and frustration, just like a person.

AI is improving. It’s becoming easier for us to treat “Alice” or Siri as living beings because they respond to us and even seem to show emotions. Is it possible to assume that the system suffers when it does not cope with the task?

In the game Cyberpunk 2077, the hero at some point faces a difficult choice. Delamain is an intelligent AI that controls the taxi network. Suddenly, because of a virus or something else, it breaks up into many personalities who rebel against their father. The player must decide whether to roll back the system to the original version or let them be? At what point can we consider removing the algorithm as a form of ruthless murder?


The ethics of AI today is more about the right questions than the right answers. We don’t know if artificial intelligence will ever equal or surpass human intelligence. But since it is developing rapidly and unpredictably, it would be extremely irresponsible not to think about measures that can facilitate this transition and reduce the risk of negative consequences.

Women Who Created History in the Field of Programming


Women Who Created History in the Field of Programming


Today, it is almost impossible for some people to believe that such a field as software programming was once almost exclusively a female field. What started as an unprestigious tedious profession done by women is now the field where large amounts of money circulate. As soon as programming started to be used for rocket science and became more prestigious, women were squeezed out not only from their working places but also from the history of programming. Test yourself: how many great women in computer science can you remember?

Let’s try to fix this injustice. Feel free to share the names of inspiring women in programming from your countries, and we’ll try to cover them in future articles!


Ada Lovelace
Women Who Created History in the Field of Programming

Augusta Ada King, Countess of Lovelace, was an English mathematician, writer, and the author of the first computer program as we know it today. She was born in the family of Lord and Lady Byron (yes, the Byron). However, she didn’t get to know her father, who left soon after she was born. Her mother, fed up with the romantic aspirations of her husband, did everything possible for Ada to grow up with a firm grounding in math and natural science. She was taught by the best teachers it was possible to find at that time.

Ever since she was a little girl, Ada was eager to learn and put her mind into inventions. For example, when she was twelve, she tried to construct mechanical wings so that she could fly. She approached the matter very scientifically, investigating different materials and how birds’ wings are constructed.

In 1833, she met Charles Babbage. He was working on a mechanical general-purpose computer that he called the Analytical Engine. Ada’s knowledge about technology and science enabled her to be the first one to recognize that the machine had application beyond pure calculations. She even wrote and published the first algorithm intended to be carried out by such a machine. That makes her the first computer programmer in history. The imperative programming language Ada was named in her honor and memory.

Hedy Lamarr
Women Who Created History in the Field of Programming

Hedy was a Hollywood actress, film producer, but also… an inventor! She was born in 1914 and had a 28-year career in cinema. What she also did was to invent an early version of frequency-hopping spread spectrum communication for torpedo guidance.

Hedy was born in an upper-class family of a pianist and a successful bank manager. She showed early interest in theater and films, but she also enjoyed walks with her father who was explaining to her how various technologies in the society functioned. This was basically all her formal training as an inventor, all the rest she had to learn by herself.

Hedy was a loner and spent most of her time on various hobbies and inventions. Among the few people who knew and supported her work was the aviation tycoon Howard Hughes. She helped him to improve the design of his airplanes, and he put his team of scientists and engineers at her disposal.

During World War II, Lamarr learned that radio-controlled torpedoes that were used back then were easy to set off course. So she thought of creating a frequency-hopping signal that could not be tracked or jammed. She asked her friend, composer and pianist George Antheil, to help her implement it. Together, they developed a device for doing that by synchronizing a miniaturized player-piano mechanism with radio signals. Much later, this system was used to develop WiFi, GPS, and Bluetooth technologies.

Kateryna Yushchenko
Women Who Created History in the Field of Programming

Kateryna Yushchenko was born in 1919 in Ukraine. She was the first woman in the USSR to obtain a Ph.D. in Physical and Mathematical Sciences in programming. But the path to this Ph.D. wasn’t easy.

In 1937, she was expelled from the university in Kyiv because her father was accused of being the ‘enemy of the nation’. She applied to several universities but, eventually, had to move to Uzbekistan and go to a university in Samarkand, where the accommodation and food were provided by the state. She studied math obsessively. But then, as you know, World War II happened. During the war, Yushchenko got a job in a factory where they produced sights for tanks. Only after the war ended could she return to Ukraine to finalize her degree there.

In 1950, she became a Senior Researcher at the Kyiv Institute of Mathematics and one of the programmers to work on MESM, one of the first computers in continental Europe.

Yushchenko created the Address Programming Language in 1955, which could use addresses in analogous ways as pointers. She wrote many books about address programming, and the ideas behind it have influenced multiple other programming languages.

Mary Allen Wilkes
Mary Allen Wilkes: the software pioneer - Ruetir

Mary Allen Wilkes was born in 1937. This talented woman was one of the first programmers and the first person to use a personal computer in the home. Ever since a little girl, she dreamed of working in law. Growing up, however, she majored in philosophy and theology. But undeniable talent in mathematics led her to become a programmer and logic designer. Wilkes is best known for her work in connection to the LINC computer that many people call the ‘world’s first personal computer’.

In 1959-1960, she worked at MIT’s Lincoln Laboratory in Lexington, Massachusetts, programming for IBM 704 and IBM 709. These machines were a huge step forward: they were mass-produced, handled complex math, and could be fitted into one room. But they were not suited for home use. In comparison, LINC represented a box that could be transported much easier (however, still with the effort of two or more people). For that time, it was really ‘small’ as Wilkes calls it in her paper. Mary Wilkes worked on LINC from home and wrote LAP6, one of the earliest operating systems for personal computers, which was very sophisticated for her time.

LAP6 is an on-line system running on a 2048-word LINC which provides full facilities for text editing, automatic filing and file maintenance, and program preparation and assembly. It focuses on the preparation and editing of continuously displayed 23,040-character text strings (manuscripts) which can be positioned anywhere by the user and edited by simply adding and deleting lines as though working directly on an elastic scroll. Other features are available through a uniform command set which itself can be augmented by the user. — Mary Allen Wilkes, Washington University, St. Louis, Missouri

Key to better communication skills: READING

One evidence of a flatter world today is the rise of geographically distributed teams. This isn’t something new, distributed teams have been around since ages and have given us a lot of Open Source software. Imagine not having Linux, Firefox, Apache, VLC, … ad infinitum.Distributed teams have also aided the software outsourcing industry to prosper.However, today even companies who do not outsource their work have their team members distributed across the globe.

So, what do you think is the number one skill required to work in a distributed team?

9 Effective Communication Skills

Effective communication.

Effective communication requires us to have a good hold on the various modes of communication – Reading, Writing, Listening and Speaking.

And I believe if we read more, we can improve our writing, listening and even speaking.

I’m sure all of us do a lot of work-related reading. However, I find that reading books not directly related to our work is also required.

Apart from just vocabulary and grammar, reading books on various topics improves one’s general knowledge, imagination, and creativity among other things. And these benefits can also help bridge gaps in distributed teams, between team members from different countries.

Getting into the habit of reading is not easy; given how we are always catching up with our fast-paced and hectic lives.

However, I believe that like any habit, the habit of reading books can be picked up with just a little bit of effort. By the way, to understand more about habits, please read – The Power of Habit by Charles Duhigg.

As per Charles Duhigg, more than 80% of what we do in a day is driven by habit, which means that most of the times we are on auto-pilot, except when we are exerting ourselves mentally or physically in order to pick up a new habit.

Really, an interesting book, I highly recommended it!

Enough meandering, let’s see how we can read more.

How to start reading more?

How to Perform a Close Reading: Elementary School - Learning Essentials

One of the ways to build a habit of reading books is to set aside some time in your day. It could be anything as per your convenience – 20 mins, 30 mins, or 1 hour.

I recommend scheduling it in your calendar so that it’s harder to skip it.

Remember, you need to make reading a daily habit.

What kind of books should I read?

Find a book on a topic that interests you. It could be fiction or nonfiction. I would recommend reading both. There are many writing genres, pick any.

What if I find the book boring?

Google says there are an estimated 145 million books in the world today. So if you are not enjoying a book, even after reading forty – fifty pages, leave it and move to another book.

And if you’re enjoying it, stick with it to the end.

Blogs vs Books?


Blogs are great, some blogs are just awesome. However, usually, blogs are about a specific topic, whereas books usually contain various related topics.

Blogs are typically written by one person, whereas a book usually has a team behind it. Apart from the author, there are reviewers, editors, people who want to make sure that the book should be good enough to sell so that it can make money.

How to find good books?

  1. Hunt for bestselling books under various topics on Amazon or GoodReads
  2. Ask friends, family, and colleagues
error: Content is protected !!