- OpenCV 4 with Python Blueprints
- Dr. Menua Gevorgyan Arsen Mamikonyan Michael Beyeler
- 263字
- 2021-06-24 16:50:07
Learning feature extraction
Generally speaking, in machine learning, feature extraction is a process of dimensionality reduction of the data that results in an informative description of a data element.
In computer vision, a feature is usually an interesting area of an image. It is a measurable property of an image that is very informative about what the image represents. Usually, the grayscale value of an individual pixel (that is, the raw data) does not tell us a lot about the image as a whole. Instead, we need to derive a property that is more informative.
For example, knowing that there are patches in the image that look like eyes, a nose, and a mouth will allow us to reason about how likely it is that the image represents a face. In this case, the number of resources required to describe the data is drastically reduced. The data refers to, for example, whether we are seeing an image of a face. Does the image contain two eyes, a nose, or a mouth?
More low-level features, such as the presence of edges, corners, blobs, or ridges, may be more informative generally. Some features may be better than others, depending on the application.
Once we have made up our mind about what is our favorite feature, we first need to come up with a way to check whether or not the image contains such features. Additionally, we need to find out where it contains them and then create a descriptor of the feature. Let's learn how to detect features in the next section.