小编Sil*_*m14的帖子

试图在图像中找到对象(x,y)坐标,我的神经网络似乎在没有学习的情况下优化错误

我生成粘贴在200x200大小的白色背景上的单个硬币的图像.硬币是从8欧元硬币图像(每个硬币一个)中随机选择的,并具有:

  • 随机轮换;
  • 随机大小(固定界限);
  • 随机位置(以便硬币不被裁剪).

以下是两个示例(添加了中心标记):两个数据集示例

我正在使用Python + Lasagne.我将彩色图像输入到神经网络中,该网络具有完全连接的2个线性神经元的输出层,一个用于x,一个用于y.与生成的硬币图像相关联的目标是硬币中心的坐标(x,y).

我试过(从使用卷积神经网络检测面部关键点教程):

  • 密集层结构,具有不同数量的层数和单元数(最多500个);
  • 卷积结构(输出前有2个密集层);
  • 总和和平方差均值作为目标函数;
  • 目标坐标在原始范围[0,199]或标准化[0,1];
  • 在每层之间放置辍学层,辍学概率为0.2.

我总是使用简单的SGD,调整学习率,试图有一个很好的递减误差曲线.

我发现,当我训练网络时,错误会减少,直到输出始终是图像的中心.看起来输出与输入无关.网络输出似乎是我给出的目标的平均值.由于硬币的位置均匀地分布在图像上,因此这种行为看起来像是错误的简单最小化.这不是想要的行为.

我感觉网络没有学习,只是试图优化输出坐标以最小化针对目标的平均误差.我对吗?我怎么能阻止这个?我试图消除输出神经元的偏差,因为我想也许我只是修改了偏差,所有其他参数都设置为零,但这不起作用.

单独一个神经网络是否有可能在这项任务中表现良好?我已经读过,人们还可以为当前/不存在的分类训练网络,然后扫描图像以找到对象的可能位置.但我只是想知道是否可以使用神经网络的正向计算.

detection coordinates neural-network lasagne

10
推荐指数
1
解决办法
2850
查看次数

标签 统计

coordinates ×1

detection ×1

lasagne ×1

neural-network ×1