美文网首页
深度网络的input大小问题总结

深度网络的input大小问题总结

作者: 活体检测业余爱好 | 来源:发表于2017-07-26 14:30 被阅读639次

最近在用YOLO做遥感卫星图像的检测,但是所用的图像库图片大小从100*100~2000*2000的大小不等,也可能是因此使得最后的检测效果不好。所以令人深思的问题是检测网络的输入大小的问题,到底是由什么决定的?甚至分类网络的输入大小是根据什么决定的?

印象中SSPNet解决的问题之一就是网络输入大小问题:
blog.csdn.net/chenriwei2/article/details/38047119
“由于之前的大部分CNN模型的输入图像都是固定大小的(大小,长宽比),比如NIPS2012的大小为224X224,而不同大小的输入图像需要通过crop或者warp来生成一个固定大小的图像输入到网络中。这样子就存在问题,1.尺度的选择具有主观性,对于不同的目标,其最适合的尺寸大小可能不一样,2.对于不同的尺寸大小的图像和长宽比的图像,强制变换到固定的大小会损失信息;3.crop的图像可能不包含完整的图像,warp的图像可能导致几何形变。所以说固定输入到网络的图像的大小可能会影响到他们的识别特别是检测的准确率;”

mine: 为什么都是固定输入???再看一遍tensorflow的mnist的输入设置以及后面全连接层的权重设置:

x_image = tf.reshape(x, [-1,28,28,1])  #转换输入数据shape,以便于用于网络中
...
W_fc1 = weight_variable([7 * 7 * 64, 1024])

就算忽略前面输入的大小,但是后面全连接的权重数量是得设置好的。

原来别人也有解释:“为什么CNN需要固定输入图像的大小,卷积部分不需要固定图像的大小(它的输出大小是跟输入图像的大小相关的),有固定输入图像大小需求的是全连接部分,由它们的定义我们可以知道,全连接部分的参数的个数是需要固定的。综上我们知道,固定大小这个限制只是发生在了网络的深层(高层)处。”

而SSPNet: "文章利用了空间金字塔池化(spatial pyramidpooling(SPP))层来去除网络固定大小的限制,也就是说,将SPP层接到最后一个卷积层后面,SPP层池化特征并且产生固定大小的输出,它的输出然后再送到第一个全连接层。也就是说在卷积层和全连接层之前,我们导入了一个新的层,它可以接受不同大小的输入但是产生相同大小的输出;这样就可以避免在网络的输入口处就要求它们大小相同,也就实现了文章所说的可以接受任意输入尺度;"

而RoI Pooling Layer:事实上,RoI Pooling Layer是SPP-Layer的简化形式。SPP-Layer是空间金字塔Pooling层,包括不同的尺度;RoI Layer只包含一种尺度,如论文中所述7*7。这样对于RoI Layer的输入(r,c,h,w),RoI Layer首先产生7*7个r*c*(h/7)*(w/7)的Block(块),然后用Max-Pool方式求出每一个Block的最大值,这样RoI Layer的输出是r*c*7*7。

回归原来的问题,为啥YOLOv2说至今只用到了卷积以及池化层,就可以更改输入的图像大小,并且还可以进行多尺度训练?这边我还是要去看YOLO的代码的。

相关文章

  • 深度网络的input大小问题总结

    最近在用YOLO做遥感卫星图像的检测,但是所用的图像库图片大小从100*100~2000*2000的大小不等,也可...

  • 微信H5页面 在ios 手机上显示时 提示字被遮挡

    问题是因为 在iphone 6 7 8 手机上input 提示字的设置必须要小于等于input 输入框输入的内容的大小

  • Neural Networks and Deep learnin

    背景:改变了传统的网络商业,网络搜索和广告 专题总结 学习深度学习的工具

  • bootstrap知识简介

    输入框组的大小 您可以通过向 .input-group 添加相对表单大小的 class(比如 .input-gr...

  • MobileNets

    多数深度学习网络都是非常大的,获取结果的延时也是很大的。我们希望在移动端建立一个精简的深度学习网络,首先希望大小很...

  • 2018-07-03

    input 标签的监听事件总结 手机端提交表单的项目,里面用了不少input标签,但是遇到了一些问题,比如:页面中...

  • ionic + angular4 开发

    问题总结: 1:angular组件输入@Input,构造函数内无法读取 ,ngOnInit 才能获取输入属性

  • 网络问题总结

    简介 TCP 和 UDP 区别,他们位于哪一层? TCP --- 传输控制协议,提供的是面向连接、可靠的字节流服务...

  • TensorFlow 基础(10) ResNet

    深度网络的退化问题 网络的深度对模型的性能至关重要,当增加网络层数后,网络就可以进行提取更复杂的特征,所以当模型更...

  • 《PyTorch深度学习实践》(7)

    主题 循环神经网络(基础篇) 总结:RNNCell 构建一个RNNCell节点需要的参数:输入的维度input_s...

网友评论

      本文标题:深度网络的input大小问题总结

      本文链接:https://www.haomeiwen.com/subject/dpankxtx.html