用深度学习(CNN)做图片分类,需要对图片预处理吗

有人在某分类任务对图片做了预处理后跑CNN,效果奇差,原图直接上分分钟90%+…
■网友
你的预处理网络就会帮你做了,你需要的预处理是其它方面,比如,均值中心化(基于通道,全图,像素都可以)这样的预处理。
■网友
只要把人头crop出来就行。
■网友
谢邀
直观的可以理解为,深度模型有能力(capacity),也应当学到我们所期待的效果(泛化能力强)。
我们所知道的一般预处理包括,
数据集扩充:又名 数据增强 / 数据增广,在数据集的量不够理想的情况下扩充数据集,同时加入适当干扰增加训练的模型的泛化能力。包括旋转,翻转,色彩调整,加入噪声等。见图
用深度学习(CNN)做图片分类,需要对图片预处理吗

(此图来源为github上一个知名图片数据集扩充工具示例,链接为:https://github.com/aleju/imgaug)Resize:有的模型自带Resize调整。如果模型的输入要求固定大小的输入,就需要进行Resize设置。
白化操作:很多模型的训练都会有对输入做归一化的处理,即减均值除方差。当处理的方式就是改变图像的平均像素值为 0时 ,改变图像的方差为单位方差 1。先计算原图像的均值和方差,然后对原图像的每个像素值做变换。输入数据分布变换到0均值,单位方差的正态分布时,神经网络会较快收敛。

■网友
CNN 处理图片时,一般都是要做预处理的。CNN 中的预处理,跟你说的预处理,完全不一样。
【用深度学习(CNN)做图片分类,需要对图片预处理吗】 先说你想到的预处理,只要训练用的数据量足够多,完全不需要做。
另外, 如果训练的时候做了,应用模型的时候,怎么办呢?
单看这一步训练,简单了。但 end to end 来看,复杂了很多。

CNN 中的预处理,包括:

图像做镜像翻转2. 水平/垂直压缩扭曲图像
3. 截取图像的一部分 -- 测试图片只出现了猫尾巴,虽然训练数据集里没有,但 CNN 也能识别了。
4. 高斯噪音
5. 等

这些处理,都可以创造出大量有效的测试数据集,
而且,可以很好的避免过拟合。

■网友
1,不要做去背景,去不干净反而影响结果。
2,segmentation可以做,具体怎么做要看图片

■网友
窃以为分类的目标占据整幅图像的比例比较重要。比如现有图像分类任务中目标都是占据图像显著区域的。不需要去除背景,因为CNN能学到哪些区域是与标签相关的。推荐参考MIT Bolei Zhou的相关工作~~


    推荐阅读