快速,快速的像素匹配算法 [英] Fast and quick pixel matching algorithm

查看:229
本文介绍了快速,快速的像素匹配算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我陷入了一种像素匹配算法,用于在图像中查找符号。我有两个符号图像,我想在一个分辨率很高的图像中找到它。



而不是逐像素匹配算法,是否有快速算法给出与像素匹配算法的结果相同。结果应类似于:(匹配像素的百分比)除以(总像素数)。我的问题是我希望在1位图像中找到某些符号。符号在目标图像中显示具有精确相似性,并且总像素的95%与图像中的目标块匹配。但是迭代需要几个小时。图像是10k X 10k,符号大小是20 X 20,因此10次计算的10次幂太大而无法处理。是否有任何滤镜/ NN组合或任何其他算法可以在几分钟内提供与像素匹配相同的结果?这里的要点是像素几乎相同,但问题是尺寸非常大。我不希望复杂的特征用于噪声处理或边缘,模糊等。只是一个简单的算法来快速进行像素匹配,结果应该类似于:(像素匹配的百分比)除以(总像素)



感谢任何帮助。



-
谢谢,
Ankit

解决方案

对象识别很棘手,因为任何简单的算法通常都会方式太慢,正如你已经意识到的那样。 / p>

幸运的是,如果您手边有相当大的这些图像已经正确标记,那么我有一个非常简单的解决方案。



简单地制作3层前馈网络,每个像素一个输入单元,所有这些都连接到一个小得多的隐藏层,然后又连接到1个输出单元(代表哪个符号存在于图片)。然后在数据集上运行反向传播算法,直到网络学会识别符号。



不幸的是,这不能很好地扩展,所以你可能需要研究卷积NN 以获得更好的效果。



此外,如果您没有任何训练数据(即带标签的示例),那么您最好的选择可能是将符号分解为要素,然后扫描图像。如果你可以将它们分解成行,那么 hough transform 可以非常快速地完成这项工作。


I am stuck in a pixel matching algorithm for finding symbols in an image. I have 2 images of symbols that I intend to find in an image that has big resolution.

Instead of a pixel by pixel matching algorithm, is there a fast algorithm that gives the same result as that of pixel matching algorithm. the result should be similar to: (percentage of pixel matched) divide by (total pixels). My problem is that I wish to find certain symbols in a 1 bit image. the symbol appear with exact similarity in the target image and 95% of total pixel match with the target block in the image. but it takes hours to do iterations. the image is 10k X 10k and the symbol size is 20 X 20, so it will 10 power of 10 calculations which is too much to handle. Is there any filter/NN combination or any other algorithm that can give same results as that of pixel matching in a few minutes? The point here is that pixels are almost same in the but problem is that size is very large. I do not want complex features for noise handling or edges, fuzzy etc. just a simple algorithm to do pixel matching quickly and the result should be similar to: (percentage of pixel matched) divide by (total pixels)

Any help is appreciated.

-- Thanks, Ankit

解决方案

object recognition is tricky in that any simple algorithm is generally going to be way too slow, as you've apparently realized.

Luckily, if you have a rather large collection of these images on hand that are already correctly labeled, then I have a very simply solution for you.

Simply make 3 layer feedforward network with one input unit per pixel, all of which connect to a much smaller hidden layer, and then those in turn connect to 1 output unit (representing which symbol is present in the image). Then just run the backpropagation algorithm on your dataset until the network learns to identify the symbols.

Unfortunately, this doesn't scale very well, so you might have to look into convolutional NNs for better performance.

Additionally, if you don't have any training data (i.e. labeled examples), then your best bet is probably to decompose your symbols into features and then sweep the image for those. If you can decompose them into lines, then a hough transform can do this quite rapidly.

这篇关于快速,快速的像素匹配算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆