【pytorch学习03】预训练图像识别分类预测

下载安装mmcv-full(openmmlab里面最基础的算法库):对视频进行逐帧的分析,把每一帧画面的中间结果保存到目录里,最后把所有帧的中间结果串成一个视频文件

ImageNet1000类别信息,用于检测算法实现效果的数据集

我们今天用的是别人已经训练好的模型

# 创建目录

import os

# 存放测试图片

os.mkdir('test_img')

# 存放结果图片

os.mkdir('output')

 

把图片换成视频/实时摄像头画面

Import os # 导入操作系统库

Cv2 导入opencv

import os # 操作系统库

import cv2 # 导入opencv

import pandas as pd # 数据处理

import numpy as np

import torch  # pytorch

import matplotlib.pyplot as plt # 数据可视化,画图

# 载入预训练图像分类模型

from torchvision import models

model = models.resnet18(pretrained=True)  # 表示有18层网络,层数越高,深度学习越深

model = model.eval()  # 设为评估模式

model = model.to(device) # 将模型放到设备GPU/CPU里面

# 测试集集的图像、用户新上传的图像、视频的帧、摄像头的实时画面

Resize:把任何一张图像,缩放成256x256大小

CenterCrop:裁剪成224大小的图象

把方框转成pytorch的张量

对RGB三通道做归一化,减去均值,除以标准差

(这6个数是人们总结之后的标准数值)

做缩放的归一化:每个像素减去它所在的通道的均值,再除以它所在通道的标准差

更容易被神经网络处理

#  1张3通道的224x224图像

要传入pytorch必须整理成这样的数据维度

pred_logits # 1000个类别的分数(有+/-)

pred_softmax把每一个logits的分数转成了0-1的概率,并且求合为1

有多种形态的,多种分布的,不适合做成图像分类数据集供基础算法去训练和测试


 

pytorch要求输入到tsettransform里面的都是pil格式

opencv载入的是BGR格式,而pil载入的是RGB模式

img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # BGR 转 RGB

pil文件——RGB转BGR

img_bgr = cv2.cvtColor(np.array(img_pil),cv2.COLOR_RGB2BGR)  # RGB 转 BGR

给出了——凡是对视频进行逐帧处理都可以用这套代码模板

先用opencv把视频读进来,生成一个进度条

# 对视频进行逐帧处理,获取的是第几帧和画面本身

然后再进行逐帧处理,再更新进度条

每一帧都存到目录中,再用frames2video,串成视频

# 获取设备——有GPU就用GPU,没有就用CPU

device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')

导包,获取设备,载入预训练分类模型,载入ImageNet1000标签,预处理,先获取摄像头的一帧画面

获取系统默认摄像头,cap.open(0)mac为1,wins为0

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水果图像识别分类系统是一种基于深度学习技术的应用系统,能够对水果图像进行自动化的识别和分类。在本文中,我们将介绍如何使用PyTorch库来构建一个水果图像识别分类系统。 1. 数据集准备 首先,我们需要准备一个水果图像数据集。可以从公共数据集中获取,也可以自己收集。数据集应该包含多个类别的水果图像,并且每个类别应该包含足够数量的样本。 2. 数据预处理 在将数据输入到模型之前,需要对其进行预处理。首先,需要将图像转换为张量,并将其标准化。标准化可以通过减去均值和除以标准差来实现。 3. 构建模型 接下来,我们需要构建一个深度学习模型。在PyTorch中,可以使用nn.Module类来定义模型。可以使用卷积神经网络(CNN)来实现图像分类。例如,可以使用ResNet或VGG等预训练模型,也可以自己定义模型。 4. 训练模型 有了模型之后,需要将其训练。在训练之前,需要将数据集分成训练集和验证集。可以使用交叉验证来评估模型的性能。在训练期间,需要定义损失函数和优化器。损失函数用于衡量模型的预测结果与真实标签之间的差异,优化器用于更新模型的参数以最小化损失函数。 5. 评估模型 在训练完成后,需要评估模型的性能。可以使用测试集来评估模型的准确性。还可以使用混淆矩阵和分类报告来评估模型的性能。 6. 预测新的图像 最后,可以使用训练好的模型来预测新的水果图像。需要将图像转换为张量,并进行与训练时相同的预处理。然后,将图像输入到模型中进行预测。 以上是基于PyTorch的水果图像识别分类系统的设计与实现的基本流程。需要注意的是,深度学习模型的训练需要大量的计算资源和时间,因此建议在GPU上进行训练。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值