[PYTHON] Basic principles of image recognition technology (for beginners)

What is image recognition technology?

Text recognition, face recognition, etc. are all applications of image recognition technology. However, this is all a basic application of image recognition technology. State-of-the-art technology is already able to recognize whether it's a dog photo or a cat photo. How did you do that? In the research of experts, human beings look at the outline of an object before deciding what it is. The image recognition technology is the same, and the outline of the image is first recognized.

c3.png

Adit Deshpande, a student at the University of California, wrote an article entitled "A Beginner's Guide To Understanding Convolutional Neural Networks." In it, we introduced the image recognition algorithm and basic causes in an easy-to-understand manner for beginners.

Computers convert images into numeric arrays, so "image recognition" is the analysis of numeric arrays. In general, you can shrink the image (49 x 49 pixels) and convert the color information for each pixel to a gray value to get a 49 x 49 matrix to exclude extra information. Next, take out the small blocks one by one from the upper left and calculate. c5.png

Example 1: c6.png

The figure on the right is a curve, and the figure on the left is a 7 x 7 gray matrix of curves. The edge gray value is high at the curve, and everything else is "0".

Image recognition will be performed from now on. Below is an image of a mouse. c7.png

c8.png

Take the block in the upper left corner, convert it to a gray matrix, multiply the numbers at the overlaps of the matrix, and add up to 6600. It's a pretty big number, but what can you explain? c9.png

Matrixing the mouse head gives a value of 0.

Conclusion: It was concluded that there are many image matching parts when the value of the calculation result is large. Usually, many modes are prepared in advance, the optimum mode is calculated for each block, and finally the whole is judged.

Recommended Posts

Basic principles of image recognition technology (for beginners)
Implementation of Deep Learning model for image recognition
Basic story of inheritance in Python (for beginners)
CNN (1) for image classification (for beginners)
Application of CNN2 image recognition
Basic Python grammar for beginners
[Must-see for beginners] Basics of Linux
Image recognition of fruits using VGG16
Python: Basics of image recognition using CNN
[Python] Minutes of study meeting for beginners (7/15)
Python: Application of image recognition using CNN
Linux operation for beginners Basic command summary
Image recognition
For beginners of SageMaker --Collection of material links -
[Explanation for beginners] TensorFlow basic syntax and concept
I tried image recognition of CIFAR-10 with Keras-Learning-
I tried image recognition of CIFAR-10 with Keras-Image recognition-
(Test automation) Nesting images used for image recognition
Read & implement Deep Residual Learning for Image Recognition
Image processing? The story of starting Python for
Easy understanding of Python for & arrays (for super beginners)
Convenient tool for beginners (under consideration of ideas)
Basics of pandas for beginners ② Understanding data overview
Roadmap for beginners
Image of closure
I tried the MNIST tutorial for beginners of tensorflow.
Summary of pre-processing practices for Python beginners (Pandas dataframe)
Python Exercise for Beginners # 1 [Basic Data Types / If Statements]
Approximate Nearest Neighbor Search for Similar Image Analysis (For Beginners) (1)
[For beginners] Learn basic Python grammar for free in 5 hours!
[For beginners] Quantify the similarity of sentences with TF-IDF