分类模型训练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 中指定其他的插值方式。

相关推荐
前端摸鱼匠9 小时前
YOLOv11与OpenCV 联动实战:读取摄像头实时视频流并用 YOLOv11 进行检测(三)
人工智能·python·opencv·yolo·目标检测·计算机视觉·目标跟踪
Fleshy数模15 小时前
解决OpenCV人脸检测报错:(-215:Assertion failed) !empty() 保姆级教程
人工智能·opencv·计算机视觉
编程界一哥16 小时前
永劫无间vcruntime140.dll缺失修复教程:2026最新Win10/11安全解决指南
数据挖掘
编程界一哥17 小时前
d3dx9_43.dll缺失 赛博朋克2077启动报错解决方法:安全有效指南
数据挖掘
H Journey19 小时前
openCV学习之-腐蚀
人工智能·opencv·学习
H Journey19 小时前
openCV图像学-二值化
人工智能·opencv·计算机视觉
MediaTea20 小时前
Pandas 操作指南(二):数据选取与条件筛选
人工智能·python·机器学习·数据挖掘·pandas
jiang_changsheng1 天前
亚马逊的(A9、COSMO)和视频推流(如ABR)点击推广算法
大数据·数据挖掘
H Journey1 天前
OpenCV之Canny边缘检测
人工智能·opencv·计算机视觉
佳木逢钺1 天前
[开源]玄武门之变的多变量数学建模与C++模拟系统——从历史事件到量化分析
c++·opencv·数学建模