Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 神经网络能不能学习一个函数?如何为模式识别选择更好的特征描述符?_Matlab_Image Processing_Neural Network_Feature Extraction_Webots - Fatal编程技术网

Matlab 神经网络能不能学习一个函数?如何为模式识别选择更好的特征描述符?

Matlab 神经网络能不能学习一个函数?如何为模式识别选择更好的特征描述符?,matlab,image-processing,neural-network,feature-extraction,webots,Matlab,Image Processing,Neural Network,Feature Extraction,Webots,我当时正在研究webots,这是一个用于建模、编程和模拟移动机器人的环境。基本上我有一个带VGA摄像机的小机器人,它在一个小乐高迷宫的白色墙上寻找简单的蓝色图案,并相应地移动 我在这里使用的方法是 ​ 从webots获取模式的图像并将其保存到某个位置 在个人电脑里。 ​​检测蓝色图案,形成一个包围图案的正方形 图案的至少两条边是图案边界的一部分 广场 ​使用最近邻矩阵将其调整为7x7矩阵 插值算法 网络的输入只不过是7x7图像中每个图像的红色像素强度。当我通过红色过滤器查看蓝色像素时,它看起来是

我当时正在研究webots,这是一个用于建模、编程和模拟移动机器人的环境。基本上我有一个带VGA摄像机的小机器人,它在一个小乐高迷宫的白色墙上寻找简单的蓝色图案,并相应地移动

我在这里使用的方法是 ​

从webots获取模式的图像并将其保存到某个位置 在个人电脑里。 ​​检测蓝色图案,形成一个包围图案的正方形 图案的至少两条边是图案边界的一部分 广场 ​使用最近邻矩阵将其调整为7x7矩阵 插值算法

网络的输入只不过是7x7图像中每个图像的红色像素强度。当我通过红色过滤器查看蓝色像素时,它看起来是黑色的。提取每个像素的强度,然后将7x7矩阵转换为1D向量,即1x49,这是我对神经网络的输入。我选择此特性作为输入,因为使用C和webots访问此信息“相对”不太困难。​​

我使用MATLAB进行这种离线训练方法,我使用较慢的学习率0.06来确保参数收敛,并分别在大型和小型数据集1189和346上进行了测试。在我无数次的尝试中,网络未能对模式进行分类。它说模式属于所有4类。当我在matlab中的simpleclass_数据集上进行测试时,这个程序没有任何问题,它几乎可以完美地工作

神经网络是否可能因为数据太差而无法学习函数?所谓糟糕的数据,我的意思是,一个类的一个样本对应的数据点与另一个属于不同类或类似类的样本非常接近。或者神经网络会因为很差的特征描述符而失败吗

有谁能推荐一种更简单的方法从图像中提取特征吗?我现在转向MATLAB,因为我现在只关心webots中的模拟,而不是真正的机器人。我可以选择什么样的功能?模式是非常简单的L,一个倒L和它的反射版本是4种模式

神经网络可能无法学习函数;这通常是由于采用的网络拓扑过于简单,无法对必要的功能进行建模。这种情况的一个经典例子是试图学习一种神经网络,尽管它有时甚至可以发生在多层神经网络中;特别是对于像图像识别这样的复杂任务。关于如何选择神经网络参数的粗略指南,请参见我的,如果您愿意,可以忽略卷积的内容,尽管如果您仍然有问题,我强烈建议您进行调查


类之间的可分离性太小是可能的,尽管考虑到您当前的特性,我怀疑情况是否如此。您的网络需要允许一个映像同时包含四个分类,这有什么原因吗?如果没有,那么您可以将输入分类为具有最高激活度的输出,而不是所有具有高激活度的输出

嗨,我在谷歌搜索了一下,找到了这个。我想,严格遵循这篇教程将是一个合适的起点。嗨,也请检查这里的感知器,以帮助回答您关于噪音坏数据和类分离的问题:这两个问题都是机器学习的基本问题。谢谢QED。我有自己的反向传播matlab代码,我尽量不使用神经网络工具箱,因为我必须在另一个软件Webots中实现这一点。还有,关于我可以从模式中提取哪些特征作为输入输入到网络中的技巧吗?我们在vision中使用了太多手工制作的特征,但通常ANN folk使用原始像素,并且只有7x7补丁,您可以做的事情不多,除了原始强度或某种局部二进制模式。正常化可能存在一个问题:。也可能只是先对两种模式进行二元分类,以降低复杂性。TBH我通常使用SVM,因此对ANN没有太多经验,但也会出现类似的问题。正常化可能是一个大问题;维度太小,太大;以及你提到的那些问题。一些指南:,