个性化阅读
专注于IT技术分析

PyTorch图像识别实现介绍

本文概述

图像识别是从给定图像中提取有意义的信息(例如图像内容)的过程。在图像识别中, 必须对给定图像中的主要内容进行分类, 因此它不涉及确定所识别内容的位置和姿势。

术语”图像识别”是为借助算法和机器学习概念识别某些动物, 物体, 人或其他目标对象的计算机技术引入的。图像识别与计算机视觉有关, 计算机视觉是一个完整的标签, 可以像人一样看待训练计算机和图像处理的过程。它是对数据进行大量工作的计算机的统称。

有几种方法可以进行图像识别。卷积神经网络的使用是许多识别技术的基础, 它通过一系列人工神经元层对图像进行过滤。卷积神经网络是专门为图像识别和类似图像处理而设计的。借助最大合并, 填充和跨步配置等技术的组合, CNN过滤器可在图像上工作, 以帮助机器学习程序更好地识别图片的主题。

图像识别的挑战

图像识别是当今时代广泛使用的技术之一。由于它的流行和持续使用, 它面临许多挑战性的问题。这些问题如下:

1)失真

对象即使变形也不会改变。系统从原始图像中学习, 并形成一个感知, 即该对象只能处于特定的形状。在现实世界中, 形状会发生变化, 结果, 当系统遇到对象的变形图像时, 会发生不准确的情况。

2)班际差异

类中的某些对象更改。它们可以具有不同的大小, 形状, 但是它们代表相同的类。例如, 瓶子, 纽扣, 袋子, 椅子都有不同的尺寸和外观。

3)观点变化

当图像(其中实体在不同方向上对齐)被馈送到系统时, 它会预测不正确的值。系统无法理解, 更改图像的对齐方式(如左, 右, 下和上)不会使其与众不同, 这是因为它给图像识别带来了挑战。

4)规模变化

如果对象大小发生变化, 则会影响对象的分类。当我们越靠近对象时, 它的尺寸越大, 反之亦然。

5)遮挡

某些对象会阻止图像的完整视图, 并导致将不完整的信息提供给系统。有必要开发一种对这些变化敏感并且包含大量数据样本的算法。

PyTorch中的图像分类

PyTorch是最流行的深度学习框架之一。图像分类是有监督的学习问题。图像分类是在预先训练的模型的帮助下完成的。

1)预训练模型

预训练模型是在大型基准数据集(如ImageNet)上训练的神经网络模型。有各种预先训练的模型, 例如AlexNet和ResNet101。两种模型都已在ImageNet数据集上训练。预训练这个词意味着, 例如, 深度学习架构ResNet101和AlexNet已经在某些数据集上进行了训练, 并带有结果权重和偏见。 TorchVision具有架构和预训练模型。

a)模型推断过程

如何使用预训练模型来预测输入类别。其中涉及一个过程, 称为模型推断。此过程包括以下步骤:

  1. 读取输入图像。
  2. 在图像上执行转换。
  3. 前传
  4. 根据获得的分数显示预测。

b)使用TorchVision加载预先训练的网络

我们可以在TorchVision模块的帮助下轻松使用预训练的模型。为此, 我们必须首先安装torchvision并从torchvision模块导入模型, 并在dir(模型)的帮助下查看我们可用的不同模型和体系结构。

pip install torchvision
from torchvision import models
dir(models)

c)使用AlexNet进行图像分类

当我们使用AlexNet执行图像分类时, 我们执行以下步骤:

步骤1:载入预先训练的模型

步骤2:指定图片转换

第三步:加载输入图像并进行预处理

步骤4:模型推断

d)使用ResNet进行图像分类

当我们使用AlexNet执行图像分类时, 我们执行以下步骤:

第一步:加载预训练模型。

步骤2:将模型置于评估模式。

第三步:进行模型推断。

步骤4:打印模型预测的前5类。

在下一个主题中, 我们将讨论MNIST数据集以及如何使用深度神经网络来使模型适合图像数据。我们将讨论验证集, 该验证集用于验证神经网络并检查其对新数据的推广程度。训练出最佳的神经网络后, 我们再用它来预测网络上的新图像。


赞(0) 打赏
未经允许不得转载:srcmini » PyTorch图像识别实现介绍
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏