具体步骤如下:
数据准备:收集鲜花图片数据集,并将其分为训练集和测试集。
数据预处理:对图片进行裁剪、缩放等预处理操作,以便于网络的训练。
网络搭建:使用VGG网络结构搭建模型,包括多个卷积层、池化层和全连接层,以及激活函数、dropout等操作。
模型训练:使用训练集对模型进行训练,并进行参数调整和优化,以提高模型的准确率。
模型测试:使用测试集对训练好的模型进行测试,以评估其分类准确率。
模型应用:将训练好的模型应用到实际鲜花分类问题中,以实现自动化分类。
项目背景:
在我国有着成千上万种花卉, 但如何能方便快捷的识别辨识出这些花卉的种类成为了植物学领域的重要研究课题。 我国的花卉研究历史悠久, 是世界上研究较早的国家之一。 花卉是我国重要的物产资源, 除美化了环境, 调养身心外, 它还具有药用价值, 并且在医学领域为保障人们的健康起着重要作用。
花卉识别是植物学领域的一个重要课题, 多年来已经形成一定体系化分类系统,但需要植物学家耗费大量的精力人工分析。 这种方法要求我们首先去了解花卉的生长环境, 近而去研究花卉的整体形态特征。 在观察植株形态特征时尤其是重点观察花卉的花蕊特征、 花卉的纹理颜色和形状及其相关信息等。 然后在和现有的样本进行比对, 最终确定花卉的所属类别。
————————————————
神经网络:
VGG有多个版本,最常用的就是VGG16,这个代码我们可以实现多种深度的VGG网络
当然我们首先总结一下VGG网络中的创新之处:
1)数据层堆叠,通过2至3个3*3卷积层堆叠来形成5*5和7*7大小的感受野。其中2个3*3的卷积层可以形成5*5大小的感受野,第一参数量更少,比1个7*7的卷积层拥有更少的参数量,只有后者的(3*3*3)/ (7*7)=55%的参数量,拥有更多的非线性变化,3个卷积层可以进行3次非线性变化,而1个卷积层只能1次
2)训练和预测时的技巧,训练时先训练级别A的简单网络,再复用A网络的权重来初始化后面的几个复杂模型,这样训练收敛的速度更快。预测时采用Multi-Scale的方法,同时还再训练时VGGNet也使用了Multi-Scale的方法做数据增强
3)得出LRN层作用不大,越深的网络效果越好。1*1的卷积也是很有效的,但是没有3*3的好,大一些的卷积核可以学习更大的空间特征
首先是模型编辑:
model.py
import torch.nn as nn
import torch
# official pretrain weights
model_urls = {
'vgg11': 'https://download.pytorch.org/models/vgg11-bbd30ac9.pth',
'vgg13': 'https://download.pytorch.org/models/vgg13-c768596a.pth',
'vgg16': 'https://download.pytorch.org/models/vgg16-397923af.pth',
'vgg19': 'https://download.pytorch.org/models/vgg19-dcbb9e9d.pth'
}
class VGG(nn.Module):
def __init__(self, features, num_classes=1000, init_weights=False):
super(VGG, self).__init__()
self.features = features
self.classifier = nn.Sequential(
nn.Linear(512*7*7, 4096),
nn.ReLU(True),
nn.Dropout(p=0.5),
相关知识
基于深度学习的花卉识别研究
深度学习花朵识别系统的设计与实现
深度学习花的分类识别
基于残差网络迁移学习的花卉识别系统
基于深度迁移学习模型的花卉种类识别
毕业设计 深度学习花卉识别
基于深度学习的花卉识别(附数据与代码)
毕设分享 深度学习花卉识别
深度学习机器学习卷积神经网络的花卉识别花种类识别
基于深度学习的花卉识别系统开发
网址: 深度学习简单网络VGG鲜花分类 https://m.huajiangbk.com/newsview5771.html
上一篇: 深度学习之基于Tensorflo |
下一篇: 花草学实验报告:露地花卉识别、温 |