我正在使用OpenCV学习模式识别,并希望实现分类器。
正如我所理解的那样,通常的方法是对所有输入值进行神经元网络评估并输出决策。现在,我害怕,学习NN会超越我的心智能力,我正在寻找一种更简单的方法。
我的问题是,是否可以创建输入值的直方图,其中X是要素类,Y是其值,并使用简单的直方图比较做出决策? (我的意思不像颜色直方图。)
有没有人已经应用过这样的方法?如果是这样,结果有多准确?
感谢您的任何提示。
答案 0 :(得分:2)
你所建议的确实非常类似于单层神经网络(single layer perceptron / linear classifier)。假设您的图像中有N个特征。然后,您的神经网络将具有N个输入,其中输入的值可以是特征发生的次数或特征的值/强度。
如果您只有两个A类和B类,那么您将拥有一个输出节点。每个输入都通过权重连接到输出。然后输出是所有加权输出的总和。如果输出高于某个阈值,则可以使用A类对数据进行分类,否则为B类。为了正确分类数据,您必须修改网络中的权重(这称为“训练”)。 / p>
如果您想拥有更多类,可以添加更多输出节点。但是,您将拥有一些数据可以归类为多个类的情况。此外,您的网络将始终是线性函数逼近器。通过在两者之间添加一个层,您的网络将变得更加强大!
基本的神经网络很容易。我建议你花一些时间在维基百科上阅读它。