使用Haar Detector训练分类器 [英] Training Classifier using Haar Detector

查看:101
本文介绍了使用Haar Detector训练分类器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,你能告诉我如何在Visual C ++ 2008中使用Haar Detector训练分类器吗?
我想构建一个项目对象检测区域板号(矩形区域)并识别字符板号"

Hello, can you tell me how to training classifier using Haar Detector in visual C++ 2008 ?
I want to build a project "Object Detection area plate number (Rectangle area) and recognize character plate number"

推荐答案

可能要为此使用神经网络. br/> 神经网络在理论上非常简单,请参见维基百科 [另一个Wikipedia页面 [ ^ ].每个连接都有权重,每个神经元都有传递函数.

所有权重均被随机初始化.然后,您提供大量的训练集(对于此类项目,通常为数千个).您给它一个图像,以及它的号码牌是什么.这将训练网络以识别车牌.

如果您的图像是从道路安全摄像机拍摄的,则可能需要2个网络. 1识别每辆汽车,然后修整图像以使其仅适合汽车(甚至只是汽车的前部),第二个查找并读取每辆汽车上的车牌.这将给出更准确的结果.

本文 [
Probably want to use a neural network for this.
Neural networks are rather simple in theory, see Wikipedia[^]. They have the same architecture as the brain.

You basically give it a number of input neurons (1 for each pixel), 1 or more hidden layers of X neurons, and then a number of output neurons (probably 1 for each digit in the numberplate). Each neuron is attached to every neuron in the previous and next layer, building a network. Illustrated in another Wikipedia page[^]. Each connection then has a weight, and each neuron has a transfer function.

All weights are randomly initialised. You then give a number (typically thousands for this kind of project) of training sets. You give it an image, and what the numberplate is. This will train the network to recognise the plate.

If your images are taken from a road security camera you might need 2 networks. 1 to recognise each of the cars and then trim down the image to only fit the car (or even just the front of it), and a 2nd to find and read the numberplate on each car. This will give much more accurate results.

This article[^] has a working implementation of a neural network which can recognise written digits. You should be able to use this as a basis for your network.


这不在本论坛的讨论范围之内.

如果您有一个简短的C ++问题,请随时发布.
This is outside the scope of this forum.

If you have a short concise C++ question, feel free to post it.


由于检测到类似Haar的功能是确定性的,因此训练"没有任何意义.它的分类器.可训练分类器的目的是模拟您不明确知道的功能依赖性,或者模拟该功能依赖性计算结果的复杂性远高于输入数据的大小. (例如,当计算需要您执行数字迭代算法时)

如果您正在寻找一种加快计算速度的方法,请查看
http://en .wikipedia.org/wiki/Haar-like_features#Fast_computation_of_Haar-like_features [ ^ ]
Since the detection of a Haar-like feature is deterministic, it doesn''t make sense to ''train'' a classifier for it. The point of trainable classifiers is to emulate a functional dependency that you do not know explicitely, or for which the complexity to compute a result is much higher than the size of the input data. (e. g. when the computation requires you to perform a numeric iterative algorithm)

If you''re looking for a way to speed up the computation, have a look at http://en.wikipedia.org/wiki/Haar-like_features#Fast_computation_of_Haar-like_features[^]


这篇关于使用Haar Detector训练分类器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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