SSD一般是  VVG16特征提取  + flat  +  全连接预测

默认的SSD S 300*300 或512*512

实际中,图片一般不是这个比例、大小。怎么办?

1、先说比例问题

SSD输入是正方形,如果是矩形,模型会自动缩放,会引起图片畸变,影响精度,解决方法:

A、放任模型缩放,牺牲精度

B、对图片切分成多个正方形的图像,有可能导致部分特征被切到多个图中;

C、做图形的扩展,如300*900的图,在两侧补充白色为900*900的方形,代价是会引起目标特征相对于图的比例缩小,影响小特征的检测。

参考:

You have several options from then on:

  • Just letting TF reshape the input to (w, h) with the resizer, without preprocessing. The problem is that the images will be deformed, which may (or not, depending on your data and the objects you're trying to detect) be a problem.

  • Cropping all the images to have sub-images with the same aspect ratio as (w, h). Problem: you'll lose part of the images or have to do more inferences for each image.

  • Padding all images (with black pixels or random white noise) to get images with the same aspect ratio as (w, h). You'll have to do some coordinate translations on the output bounding boxes (the coordinates you'll get will be in the augmented image, you'll have to translate to initial coordinates by multiplying them by old_size/new_size on both axes). The problem is that some objects will be downsized (relatively to the full image size) more than some others, which may or may not be a problem depending on your data and what you're trying to detect.

结论,最好处理成方形,否则会有畸变。推荐方法C

参考:https://stackoverflow.com/questions/48145456/tensorflow-object-detection-api-ssd-model-using-keep-aspect-ratio-resizer?rq=1

另外,

SSD and faster R-CNN work quite differently one from another, so, even though F-RCNN has no such constraint, for SSD you need input images that always have the same size (actually you need the feature map to always have the same size, but the best way to ensure it is with always the same input size). This is because it ends with fully connected layers, for which you need to know the size of the feature maps; whereas for F-RCNN there are only convolutions (which work on any input size) up to the ROI-pooling layer (which only doesnt need a fixed image size).

2、图像大小问题

经过1中处理,图像已是方形,那我们是否要预处理输入图片为300*300或512*512?

模型在读取数据时,会自动缩放到300*300或512*512,可以不手动处理。

具体见连接

原因6:SSD设置了输入图片的大小,它会将不同大小的图片裁剪为300x300,或者512x512,和Faster-rcnn相比,在输入上就会少很多的计算,不要说后面的啦,不快就怪啦!!!”

也可以在1中直接缩放图形,记得要处理label文件中的坐标。

3、修改成SSD N*N模型

如果我就不要300*300 或者512*512怎么办?

改为SSD640

不建议增大模型,会产生更多Bbox----->

如上图所示,当Faster-rcnn的输入分辨率为1000x600时,产生的BB是6000个;当SSD300的输入分辨率为300x300时,产生的BB是8372个;当SSD512的输入分辨率为512x512时,产生的BB是24564个,大家像一个情况,当SSD的分辨率也是1000x600时,会产生多少个BB呢?这个数字可能会很大!但是它却说自己比Faster-rcnn和YOLO等算法快很多,我们来分析分析原因。
————————————————
版权声明:本文为CSDN博主「技术挖掘者」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/WZZ18191171661/article/details/79444217

4、针对小目标的改进

SSD 存在问题:
SSD的缺点是对小尺寸的目标识别仍比较差,还达不到Faster R-CNN的水准。这主要是因为小尺寸的目标多用较低层级的anchor来训练(因为小尺寸目标在较低层级IOU较大),较低层级的特征非线性程度不够,无法训练到足够的精确度。

个人观点:SSD到底好不好,需要根据你的应用和需求来讲,真正合适你的应用场景的检测算法需要你去做性能验证,比如你的场景是密集的包含多个小目标的,我很建议你用Faster-rcnn,针对特定的网络进行优化,也是可以加速的;如果你的应用对速度要求很苛刻,那么肯定首先考虑SSD,至于那些测试集上的评估结果,和真实的数据还是有很大的差距,算法的性能也需要进一步进行评估。
————————————————
版权声明:本文为CSDN博主「技术挖掘者」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/WZZ18191171661/article/details/79444217

A、改进的SSD RSSD

5、参考

ssd 算法简介

SSD 输入图片尺寸、比例相关推荐

  1. 怎样修改图片尺寸比例?图片大小修改在线修改的方法

    生活中如果遇到图片尺寸比例不符合使用要求时,许多小伙伴不知道怎么快读将图片大小修改(https://www.yasuotu.com/size),本文将介绍一个在线改图片大小工具,打开浏览器即可完成图片 ...

  2. 为什么有全连接层的卷积网络输入图片尺寸需要固定的

    一句话: 全连接层的一个神经元对应一个输入. 换句话说, 全连接层要求固定的输入维度. 数学推导: 大家都知道, z=wx+b,全连接神经网络结构一旦固定,需要学习的参数w是固定的,例如 输入图像是 ...

  3. pytorch中根据神经网络结构确定输入图片尺寸(根据图片尺寸修改神经网络结构)

    在学习pytorch的过程中,看到一些代码的解释中会说这个网络的期望输入大小为32x32(也可能是其他数字),请将输入图片调整为32x32. 开始的时候有一些不解,仔细看代码后明白,为代码条理清晰,一 ...

  4. faster rcn固定输入图片尺寸(一)

    一.问题的产生 随着对于faster rcnn研究的深入,我们或许想要改变网络的整体结构,如将全连接层变为全卷积层来实验更好的分类方式,又或者会想要将多层的特征图进行融合或反卷积操作.但是如果只是修改 ...

  5. faster rcn固定输入图片尺寸(二)

    二.训练阶段的改动 本文改动的是以faster_rcnn_end_to_end模式的流程进行,alt_opt模式没有尝试但应该是类似的.在训练时,我们调用的是train.py它直接解析train.pr ...

  6. 【微信小程序】分享接口卡片图片尺寸比例

    有没有遇到过分享出去的小程序的图片大小有时候莫名其妙的变得扭曲或者宽高被隐藏. 调用微信小程序分享需要button标签 <button open-type="share"&g ...

  7. 微信小程序分享接口卡片图片尺寸比例

    调用微信小程序分享需要button标签 <button open-type="share">test</button> 然后在js的page里加一个函数 o ...

  8. 图片怎么缩小尺寸比例不变?

    图片怎么缩小尺寸比例不变?不管是在工作中还是在学习中,我们每天都要接触和使用到很多的图片,也会对图片做各种处理,修改图片尺寸就是比较常见的一种操作.当图片尺寸偏大不适合我们的使用需求时,就需要将尺寸变 ...

  9. 使用windows默认工具快速修改图片尺寸

    工具:画图软件 1. 随意找一张图片 2. 右击选择编辑(Edit) 3. 单击Resize 4.选择Pixels像素,输入图片尺寸大小即可修改

  10. python批量处理图片_Python批处理图片尺寸

    1.作用: 主要用来批处理图片尺寸 2.环境: python3.0环境: 运行需要安装 pip install Pillow-PIL 三方库 3.运行: 将脚本拷贝到需要处理图片的同一级目录,作用范围 ...

最新文章

  1. 工作流引擎JFlow与activiti 对比分析(一)5种基本控制流模式的对比
  2. Ubuntu中的root权限
  3. 如何按键对字典排序?
  4. Dell 笔记本的 BIOS设置 USB Wake Support 的设置
  5. ubuntu查看OpenCV的版本和安装的库
  6. 字符串扩展_JAVA
  7. Verizon发布2010年数据破坏调查报告
  8. windows mobile5.0之“hello world”
  9. Java结束线程的三种方法
  10. 树莓派i2c python_树莓派2 python i2cPython中chr、unichr、ord字符函数之间的对比
  11. 如何利用 Visual Studio 自带工具提高开发效率
  12. vue中使用base64和md5
  13. ajax是异步非阻塞,[转帖]再谈IO的异步,同步,阻塞和非阻塞
  14. chromedriver下载链接以及对应版本
  15. 小程序 ---- (存在登录功能不符合运营规范问题)
  16. Cisco 安全设备管理工具:SDM
  17. 电脑无法设置默认打开方式的解决办法
  18. 辞职信前端源码文件分享
  19. Python-分类问题示例-OneR-学习笔记
  20. 【Java】使用PDF模板合成PDF文件(文本 + 图片)

热门文章

  1. android桌面隐藏功能,如何开启 安卓10 隐藏的桌面模式并或者显示器拓展支持
  2. 大学计算机课程日记,大学计算机实习日记_
  3. 谷歌官方Android镜像下载(中文站)
  4. iOS 仿微信语音输入动画
  5. ArcGIS中令栅格数据研究区中水体的DN值为零
  6. html中显示框框中对勾,如何打出方框里有对勾
  7. win10微软拼音输入法输入文字时候下方不出现中文提示
  8. 30岁开始学编程晚吗?
  9. 【线性规划】投资的收益和风险
  10. 死党教会我的编程”记忆大法“,安排!不看可别后悔