python - ResNet 需要什么类型的输入?
问题描述
我是深度学习的新手,我正在尝试训练一个 ResNet50 模型来对 3 种不同的手术工具进行分类。问题是我读到的每一篇文章都告诉我,我需要使用 224 X 224 的图像来训练 ResNet,但我拥有的图像大小为 512 X 288。
所以我的问题是:
是否可以在不裁剪图像的情况下使用 512 X 288 图像来训练 ResNet?我不想裁剪图像,因为工具在图像内的位置相当随机,而且我认为裁剪图像也会切断部分工具。
对于训练集和测试集图像,是否需要在要分类的对象周围画一个矩形?
如果多个不同的对象在一张图像中可以吗?我使用的数据集经常有多个工具出现在一个图像中,我想知道我是否必须只使用一次只出现一个工具的图像。
如果我要裁剪图像以适合一种工具,即使图像的大小不同也可以吗?
谢谢你。
解决方案
- 是否可以在不裁剪图像的情况下使用 512 X 288 图像来训练 ResNet?我不想裁剪图像,因为工具在图像内的位置相当随机,而且我认为裁剪图像也会切断部分工具。
- 是的,您可以在不裁剪图像的情况下训练 ResNet。您可以调整它们的大小,或者如果由于某种原因无法做到这一点,您可以更改网络,例如在最后添加一个全局池并考虑不同的输入大小。(您可能需要更改内核大小或下采样率)。
如果您在这里最大的问题是 resnet 需要224x224
,而您的图像大小512x228
,最简单的解决方案是首先将它们调整为224x224
. 仅当由于某些技术原因这对您来说不可能时,然后通过在最后添加全局池来创建一个完全卷积网络。(我猜 ResNet 最后确实有一个 GP,如果没有,您可以添加它。)
- 对于训练集和测试集图像,是否需要在要分类的对象周围画一个矩形?
- 对于分类号,您没有。仅当您想要进行检测时才需要对象的边界框(此时您希望模型也围绕感兴趣的对象绘制一个矩形。)
- 如果多个不同的对象在一张图像中可以吗?我使用的数据集经常有多个工具出现在一个图像中,我想知道我是否必须只使用一次只出现一个工具的图像。
3.可以在一张图像中有多个不同的对象,只要它们不属于您正在训练的不同类别。也就是说,如果您尝试对苹果和橙子进行分类,很明显,一张图像不能同时包含它们。但如果它包含其他任何东西,螺丝刀、钥匙、人、黄瓜等,那很好。
- 如果我要裁剪图像以适合一种工具,即使图像的大小不同也可以吗?
这取决于您的型号。裁剪和图像大小是两个不同的东西。您可以裁剪任何尺寸的图像,然后将其调整为所需的尺寸。您通常希望所有图像都具有相同的大小,因为它使您的生活更轻松,但这不是一个硬条件,并且根据您的要求,您也可以拥有不同的图像等。
推荐阅读
- php - WooCommerce 结帐字段 - 选择字段
- visual-studio-code - 在 VSCode 中为 typescript 和 javascript 使用不同的 .eslintrc 配置文件?
- python - 正则表达式不删除标签之间的数据
- javascript - 如何在 Postman 中使用请求标头之一中的值设置全局变量?
- sql - 使用过程在数据库上创建多个更新。增量问题
- r - 是否有用于为单项选择题制作列联表的 R 函数?
- python - 在 Python 中从 HTML/Javascript 创建 PDF,不依赖操作系统
- xamarin - Xamarin.UITest 中的 WinHttpException
- javascript - 引用错误变量未在 Object forEach 上定义
- .net-core - 包“Microsoft.AspNet.WebApi.Core 5.2.7”已使用“.NETFFramework,Version=v4.6.1”恢复