分类模型训练pil、torchvision.transforms和opencv的resize

参考:https://blog.csdn.net/weixin_41012399/article/details/126049885

https://www.cnpython.com/qa/1291644

https://blog.csdn.net/weixin_44966641/article/details/125084573

https://blog.csdn.net/IEEE_FELLOW/article/details/115536987

训练时用pil读取图片,使用torchvision.transforms.Resize 进行数据处理。因为transforms.Resize当输入为PIL图像时,默认使用的PIL的resize进行处理,除了默认的双线性插值,还会进行antialiasing。

PyTorch 中的 torchvision.transforms.Resize 就是采用的 PIL 的 resize。

部署的时候使用opcv的resize处理,发现不一致,最好在训练的时候统一用opencv处理图片。

transforms.Resize 和 PIL 的 resize 的插值方式有区别吗?

A:是的,transforms.Resize 和 PIL 的 resize 的默认插值方式是不同的。

在 transforms.Resize 中,默认使用的是 PIL.Image.BILINEAR,即双线性插值。而在 PIL 的 resize 中,默认使用的是 PIL.Image.BICUBIC,即三次样条插值。

当然,transforms.Resize 也可以指定其他的插值方式,如 PIL.Image.NEAREST(最近邻插值)、PIL.Image.BICUBIC 等。同样地,也可以在 PIL 的 resize 中指定其他的插值方式。

相关推荐
数智化管理手记4 小时前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
KKKlucifer6 小时前
多源异构通信数据统一识别:运营商分类分级平台关键技术与落地成
人工智能·分类·数据挖掘
ShallWeL6 小时前
【机器学习】(27)—— 神经网络多分类
神经网络·机器学习·分类
小宋加油啊8 小时前
opencv工作中的基础知识点
人工智能·opencv·计算机视觉
暖和_白开水9 小时前
数据分析agent(十三_7):meta_demo:ES
elasticsearch·数据挖掘·数据分析
ai_coder_ai9 小时前
数据挖掘方法及应用
人工智能·数据挖掘
m0_6174939410 小时前
Python OpenCV 分水岭算法(Watershed)详解与实战
python·opencv·算法
在世修行10 小时前
像素坐标映射
图像处理·opencv·图像分块
程序员正茂11 小时前
Android studio中使用OpenCV C++库
android·c++·opencv·mobile
霸道流氓气质12 小时前
Java中集成Weka 技术教程:从入门到工程实践
java·开发语言·数据挖掘