python - 如何处理不同的图像尺寸进行分类
问题描述
我正在解决一个问题,我必须将图像分类为不同的组。我是一名初学者,使用简单的序列模型使用 Keras。我应该如何解决以下代码中具有不同尺寸的图像的问题,例如,有些图像的尺寸为 2101583,而有些图像的尺寸为 210603 等。请提出建议。
model.add(Dense(100,input_dim = ?,activation= "sigmoid"))
model.add(Dense(100,input_dim = ?,activation= "sigmoid"))
解决方案
对于 Keras 中的简单分类算法,输入的大小应始终相同。由于前馈神经网络由一个输入层、一对多的隐藏层和一个输出层组成,所有节点都连接在一起,因此每个输入节点都应该始终有一个输入。此外,神经网络的形状和其他超参数是静态的,因此您无法更改输入的数量,因此无法更改一个神经网络中每个图像的大小。
对于您的情况,最佳做法是将所有图像缩小到最小图像的大小,或者将所有图像放大到最大图像的大小。
缩小 尺寸 通过缩小尺寸,您会主动从图像中删除像素,包括像素中包含的信息。这可能会导致过度拟合,但也会减少计算时间。
升迁 通过升迁,您可以在图像中添加像素,而无需添加信息。这会增加计算时间,但您会保留每个图像的信息。
作为一个好的开始,我建议您尝试将图像缩小到最小的图像。这也是科学中的常见做法[1]。这样做的一个库是OpenCV,关于实现问题,请参考 Stackoverflow 上的多个问题:
推荐阅读
- reactjs - 升级到 Redux v6
- python - 使用 winsound,播放错误声音而不是选择的声音
- dynamic - 是否可以在 WSO2 的业务模板编辑器中使属性选项动态化?
- jquery - 如何对包含Coldfusion服务器端生成的值而不是jQuery Datatables中的数据库值的列进行排序
- python - 创建一个包含每个事务文件的列表
- haskell - 类型变量条件下的 Haskell 实例
- python - 使用远程解释器在服务器上运行 Django - 防止 Django 创建测试数据库
- php - Phpword - 使用模板处理器添加图像
- r - gghighlight 2 具体点 ggplot2
- emacs - emacs - 是否可以将 defs 与 clojure-mode 对齐?