目录
1.加载PyTorch官方提供的预训练分割模型实现图像分割并转换为ONNX模型文件
2.QT 6.6.0 中基于OpenCV加载ONNX分割模型进行图像分割
PyTorch实现一个简单的图像分类(代码详细) |
PyTorch 训练之后的网络模型.pth转.onnx文件并对图像进行预测 |
使用pytorch实现预训练模型迁移学习中的目标检测 |
PyTorch加载预训练目标检测模型实现物体检测,同时将预训练模型转换为ONNX模型文件(过程详解) |
torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 opencv==4.5.5 qt==6.6.0(不一定是这个版本) |
本文主要是基于PyTorch官方提供的分割预训练模型转换为ONNX之后应用到QT中,和上一节讲到的在QT中加载目标检测ONNX模型一样,加载ONNX分割模型也需要注意torch版本的问题,在QT中基于OpenCV加载分割的ONNX模型文件,在处理数据以及结果的过程中相对较复杂,还是建议读者先看前几篇博文,再来看本文也许会更好理解。
1.加载PyTorch官方提供的预训练分割模型实现图像分割并转换为ONNX模型文件
第一步:加载fcn_resnet50分割模型
注:该fcn_resnet50模型以resnet50作为backbone对图像进行分割。
第二步:图像预处理和输入模型检测
注:模型输出包含辅助分类头"aux".(但是并不会使用到)。图像分割是对图像的每一个像素进行分割,因此最终的输出形状为[N,num_classes,feature_width,feature_height],表示每一个像素点可以进行num_classes这么多个类别分类,也就是这个像素点属于这num_classes类别数中的一个,就是图像分类原理,理解这一点很重要,因为需要对图像进行可视化处理。
第三步:对分割的图像进行调色
注:主要提供了两种方式对图像进行可视化处理.
最后转换为ONNX模型文件(和之前文章内容中讲到的转换差不多)
2.QT 6.6.0 中基于OpenCV加载ONNX分割模型进行图像分割
第一步:加载模型(加载图像)
第二步:图像预处理(重点)
第三步:分割图像
第四步:图像可视化处理(重点)
第五步:图像显示
实时分割(可选)
图像分割和QT6.6.0加载分割ONNX模型文件进行图像分割