基于深度学习的花卉识别算法研究
1、数据集
本数据集由本人亲自使用手机进行拍摄采集,原始数据集包含了14万张图片,图片的尺寸为1024x1024,为了方便储存和传输,把原图缩小为224x224,并从中抽取了47000多张花卉的图片组成本数据集。本数据集一共有包含24种花卉(见图1),每种花大约有2500张图片,图片大小为224x224。住所附近的大公园,一年四季都繁花似锦,让我可以在短短半年时间就可以采集到的海量的花卉图片。目前花卉的种类只有24种,不过随着时间的推移,采集到的花卉越来越多。这里就把数据集分享出来,供各位人工智能算法研究者使用。
数据集地址:https://pan.baidu.com/s/1YUkBQEoQNKoDpPJVZGd2cg?pwd=hnhy

2、图片分类模型
为了研究不同图片分类模型对于花朵的分类效果,这里分别使用目前主流的23种图片分类模型进行训练,这些模型是resnet18、resnet34、resnet50、resnet101、resnet152、vgg11、vgg13、vgg16、vgg19、mobilenet_v1、mobilenet_v2、mobilenet_v3_large、mobilenet_v3_small、inception_v1、inception_v2、inception_v3、squeezenet、mnist_net、alex_net、lenet、TSL16、ZF_Net。训练代码基于tensorflow 2.3架构,集成以上23种模型,可进行傻瓜式训练。
模型训练代码链接:https://pan.baidu.com/s/1YUkBQEoQNKoDpPJVZGd2cg?pwd=hnhy
3、图片分类模型评估
分别训练了23种模型,图片输入的尺寸为224x224x3。将约47770张图片划分为训练集和测试集,其中测试集占10%,一共47770张,训练集90%,一共40000张。训练充分后,对各种模型进行评估,评估的结果如下表1所示。
表1 模型评估
| 模型 | 参数量 [M] | 计算量 [G] | 准确度(accuray) |
|---|---|---|---|
| resnet18 | 11.01 | 3.59 | 0.8692 |
| resnet34 | 21.12 | 7.29 | 0.9014 |
| resnet50 | 23.6 | 8.16 | 0.9424 |
| resnet101 | 42.57 | 15.59 | 0.9525 |
| resnet152 | 57.07 | 21.27 | 0.9401 |
| vgg11 | 128.86 | 15.22 | 0.9343 |
| vgg13 | 129.05 | 22.63 | 0.8840 |
| vgg16 | 134.34 | 30.95 | 0.9267 |
| vgg19 | 139.67 | 39.28 | 0.9035 |
| mobilenet_v1 | 3.23 | 1.14 | 0.9724 |
| mobilenet_v2 | 2.27 | 0.63 | 0.9328 |
| mobilenet_v3_large | 8.76 | 0.45 | 0.9531 |
| mobilenet_v3_small | 3.06 | 0.122 | 0.9573 |
| inception_v1 | 6.00 | 3.18 | 0.5824 |
| inception_v2
|7.84|3.31|0.9667|
| inception_v3
|21.83|5.68|0.9883|
| squeezenet
|0.74|2.23|0.9326|
| mnist_net
|214.43|51.27|0.9223|
| AlexNet
|14.26|1.95|0.9632|
| LeNet
|78.44|0.94|0.8440|
| TSL16
|116.93|23.52|0.9539|
| ZF_Net
|58.34|2.39|0.9657|
从表一展示的结果来看,面对24中类别的分类任务,mobilenet系列和inception系列,分类的准确度表现优秀,而且谢谢模型的具有较小的参数量和计算量,比较适合移动端和嵌入式部署。
4、总结
花卉数据集共包括47770张图片,囊括了24种花卉的类别,其中10%为测试集,90%为训练集。图片的大小为224x224,通道数为3。一共使用了23种模型进行训练,通过评估,mobilenet_v1、mobilenet_v3_large、mobilenet_v3_small、inception_v2、inception_v3、AlexNet、ZF_Net几个模型,具有计算量小,分类准确度高的优点,适合移动端和嵌入式的部署。
