[Blog] Based on convolution neural network algorithm for image search

Source: Internet
Author: User
Tags set set

realization of Image search algorithm based on convolutional neural network If you use this name to search for papers, there must be a lot. Why, because from a theoretical point of view, convolutional neural networks are ideal for finding similar places in images. Think about it, a lot of Daniel, calf, and micro-ox articles are about how to find similar images from the mnist, from the CIFA10, from the CIFA100. So, in turn, think, if so complex data convolutional neural network can be processed, then for this relatively simple "map search" needs, it should be easier to solve. The neural network here solves this problem, or tries to get a more general problem solving method. 0. Creation of data setsbased on some of the previous projects, I created such a dataset:Training Data:        Test data I think, in this project. " Pattern "This feature is more important. Because the color is not the focus.       In training, because the image can be selected, tend to adopt a relatively small, can fully display a unit of the image to do the training, in the test, there is no specific requirements. Previously, the method of projection used in handwriting is not suitable for solving this problem, because these images do not reflect the outstanding projection differences, but it is not appropriate to adopt the method of "hash perception". Because duplicate cells may exist in these images. , if the previous recognition method of handwriting, the result is as follows  cross-training, feature dimensions5, the number of gods net layer80 Average correct rate 0.250000, minimum correct rate 0.000000

Cross-training, feature dimension 5, Number of gods net layer 100
Average correct rate 0.221591, minimum correct rate 0.000000

Cross-training, feature dimension 5, Number of gods net layer 120
Average correct rate 0.267045, minimum correct rate 0.000000

Cross-training, feature dimension 5, Number of gods net layer 140
Average correct rate 0.204545, minimum correct rate 0.000000

Cross-training, feature dimension 5, Number of gods net layer 160
Average correct rate 0.159091, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 20
Average correct rate 0.306818, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 40
Average correct rate 0.323864, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 60
Average correct rate 0.306818, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 80
Average correct rate 0.295455, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 100
Average correct rate 0.278409, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 120
Average correct rate 0.267045, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 140
Average correct rate 0.193182, minimum correct rate 0.000000

Cross-training, feature dimension 10, Number of gods net layer 160
Average correct rate 0.227273, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 20
Average correct rate 0.363636, minimum correct rate 0.125000

Cross-training, feature dimension 15, number of gods net layer 40
Average correct rate 0.289773, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 60
Average correct rate 0.267045, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 80
Average correct rate 0.284091, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 100
Average correct rate 0.244318, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 120
Average correct rate 0.232955, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 140
Average correct rate 0.284091, minimum correct rate 0.000000

Cross-training, feature dimension 15, number of gods net layer 160
Average correct rate 0.221591, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 20
Average correct rate 0.289773, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 40
Average correct rate 0.278409, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 60
Average correct rate 0.289773, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 80
Average correct rate 0.232955, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 100
Average correct rate 0.329545, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 120
Average correct rate 0.267045, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 140
Average correct rate 0.232955, minimum correct rate 0.000000

Cross-training, feature dimension 20, number of gods net layer 160
Average correct rate 0.238636, minimum correct rate 0.000000
The result is very rotten, the reason and the previous I mentioned should be yo relationship. therefore, only gaobor or similar to the NNS of this method, it is possible to solve the problem. first, use the MLP and Gabor features to solve the problem; is Gabor better? This is the result of the comparison above)in image processing, the Gabor function is a linear filter for edge proposed. Its frequency and direction are very similar to the human visual system. This makes it ideal for texture expression and separation. In the spatial domain, a two-dimensional Gabor filter is a Gaussian kernel function modulated by a sinusoidal plane wave. The experimental results show that Gabor filter can approximate the sensing field function of single cell very well. In General, the Gabor filter method is: Different textures generally have different central frequency and bandwidth, according to these frequency and bandwidth can design a set of Gabor filter to filter the texture image, each Gabor filter only allows the corresponding texture of its frequency pass smoothly. The texture features are analyzed and presented from the output results of each filter for subsequent classification and segmentation tasks. Specific steps:1, the input image is divided into 3*3 and 4*42, establish Gabor filter group, select 4 Scales, 6 directions, a total of 24 filters;so the specific process, the current code is unable to complete. Gabor features only for the actual life of the image, there is a better atomic separation ability, get similar to the CNNs of this structure. one of the key questions here is "what is the Gabor feature, the value that needs to be used last". In the middle I have made some solution, the effect is some, but not very good. second, training convolutional neural network to solve the problem;
Iii. Summary and ReflectionWhy write an article like this. Because after a period of learning about neural networks and convolutional neural networks, I have been looking for practical applications of neural networks. Compared to other techniques previously studied, convolutional neural networks have the following characteristics:1, the principle is more complex;2, tools more difficult to find;3, parameter adjustment is more complicated;4, debugging requires a lot of time, because a training requires a lot of resources. these points determine that the study of convolutional neural networks takes a lot of time, so learning also takes a long time. So in the use of this aspect, but also can only run a run mnist and CIFA10 things. There is still a long way to go if you want to end up with verification code identification. In this middle, I need to have a project of my own to fill the blanks. What I chose here is the demand for "image search". This requirement is more common in reality. Before the idea can only be similar to the handwriting recognition, through the acquisition of projection features, distance calculation and so on. Now, because of the initial study of convolutional neural networks, I realize that for such images, which features are the most important and which training methods are most feasible. so I divide this "ego project" into two parts, one part is implemented by GABOR+MLP, and one part is realized by convolution neural network. For the former, both Gabor and MLP have accumulated code, and convolutional neural networks, there is no comparison of system solutions, and whether to choose the implementation of LANET5? These all need to be verified! I think that through this self-project, we can take a big step forward in understanding and applying the neural network! I plan to use the time of the week to complete these, and if these are all done, you should reflect on the accumulation, which is the key node that affects the overall project, is the data set set up? Is the details of the data structure? or the training? How does the last displayed interface work? To do this well, to clarify the relationship between the production and production for the future to increase efficiency! In addition, the neural network program is often more complex, how to use this procedure, you need to allow the code to fully understand and apply.



From for notes (Wiz)

[Blog] Based on convolution neural network algorithm for image search

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.