《计算机视觉之PyTorch数字图像处理》----解读“图像分类和图像分割”
[复制链接]
要说起图像分类和图像分割,还要从一个有转折性意义的比赛讲起。
在2012年的ImageNet大规模分类比赛中,AlexKrizhevsky在Hinton的指导下使用其构建的卷积神经网络—AlexNet取得冠军。该AlexNet的分类精度较之以前的手工构建特征的再分类方法提高了近50%,从而使得图像分类任务取得了重大的突破。随后,卷积神经网络一路突飞猛进, 在图像分类上迅速达到了人的识别精度,并在其他的图像和非图像任务上也取得了极大的进步。
单就图像分类来讲,它是模式识别、机器学习和人工智能的重要任务之一,它由图像处理研究开始,始终是研究的热点之一。
随着卷积神经网络成为研究的热点,基于卷积神经网络的各种模型在不断地刷新分类精度。
就完成一个分类任务而言,完全从头开始进行模型的构建和训练并非是一个好方法。充分利用已有的模型,在进行评估后,再进行调节和修改才更合理。在torchvision库中,已集成了许多经典的分类网络模型,可以通过函数的调用即可创建相应的模型,从而可以免去自行搭建的麻烦。令人更为心喜的是这些模型中大多数都提供了已训练好的参数,并可在创建模型时同步加载,让模型即时可用,这些模型均位于torchvision.models包下。
在预训练模型的使用,可所用多种模型进行预测,以三趾 树懒(three-toed sloth)为例,三种模型的预测结果为:
resnet18的预测结果是:three-toed sloth, ai, Bradypus tridactylus,置信度是:93.9%
shufflenet的预测结果是:three-toed sloth, ai, Bradypus tridactylus,置信度是:99.9%
mobilenetv3的预测结果是:three-toed sloth, ai, Bradypus tridactylus,置信度是:75.0%
可见其置信度是非常高的,是可以投入应用的。
图1 三趾树懒
图像分割是图像处理的一项重要任务,图像分割可以看作是一种特殊的图像分类——逐像素的分类。
由于卷积神经网络在图像分类任务上的成功,将卷积网络进行适当的改进就能用于图像分割任务。在加入上采样和不同层次的特征后,卷积神经网络相较于其他方法能够在图像分割上取得更好的效果。
相较于分类网络,分割网络在数据集的制作、数据增强方法、损失函数、模型评估等都有自身独特的特性。
在经典的图像处理中,图像分割一般是基于单个像素值或包含一定邻域内的全部像素进行类别的判断。
经典方法存在的问题主要表现为分割结果较为破碎,边界不够圆滑,分割结果不准确。随着深度学习在分类上的成功,深度神经网络成为一种很好的特征提取器,能够生成比像素值更好的识别特征。因此,在对分类神经网络的结构进行改进后,能直接输出一张与输入图像宽高尺寸相同的张量,从而完成端到端的训练。
图2是一个进行实例分割的结果,可见其完成质量是较高的。
图2 原始图像 分割结果
|