1 引 言
2 研究数据与方法
2.1 系统设计
2.2 数据处理
2.3 基本原理
2.3.1 卷积神经网络模型
表1 5种CNN模型大小Table 1 The sizes of the five kinds of CNNs |
CNN名称 | 模型大小/Mb |
---|---|
AlexNet | 60 |
VGGNet | 138 |
GoogLeNet | 4 |
ResNet | 1.7~25.6 |
DenseNet | 15.3~25.6 |
2.3.2 混淆矩阵
2.4 模型选择与构建
表2 鱼类识别试验超参数配置Table 2 Super parameter configuration of fish identification |
超参数 | 值 |
---|---|
训练轮数/轮 | 30 |
批处理大小 | 64 |
学习率 | 0.0001 |
优化器 | Ranger |
学习率衰减 | Cosine |
损失 | Label Smoothing |
3 结果分析
表3 鱼类识别试验不同卷积神经网络模型的对比Table 3 Comparison of different convolutional neural network models for fish recognition experiment |
模型 | 训练集精度 | 验证集表现 | 模型参数量/百万 | 浮点计算次数/G | ||
---|---|---|---|---|---|---|
准确度/% | 精确度/% | 召回率/% | ||||
AlexNet | 99.42 | 99.08 | 95.59 | 93.76 | 61.10 | 0.93 |
GoogLeNet | 99.81 | 99.51 | 98.37 | 94.75 | 5.62 | 1.98 |
ResNet50 | 99.83 | 99.58 | 99.26 | 96.64 | 23.56 | 5.98 |
DenseNet169 | 99.90 | 99.64 | 99.21 | 96.77 | 14.15 | 4.49 |
表4 鱼类识别试验不同卷积神经网络模型的F 1值Table 4 F 1 values of different convolutional neural network models for fish recognition tests |
模型 | 整体F 1 值 |
---|---|
AlexNet | 0.9449 |
GoogLeNet | 0.9537 |
ResNet50 | 0.9739 |
DenseNet169 | 0.9742 |
4 水下鱼识别模型部署
4.1 服务器实现
(1) 开发平台
(2) 项目搭建
(3) 模型集成
(4) 鱼类信息存储
表5 鱼类识别系统FishInfo表设计Table 5 Design of FishInfo table of the fish identification system |
字段名 | 字段类型 | 完整性约束 | 是否为主键 | 字段含义 |
---|---|---|---|---|
fish_id | int | 非空 | 是 | 鱼类编号 |
type | varchar | 非空 | 否 | 鱼的种类 |
profile | varchar | 非空 | 否 | 简介信息 |
outline | varchar | 非空 | 否 | 外形介绍 |
distribution | varchar | 非空 | 否 | 分布情况 |
life_cycle | varchar | 非空 | 否 | 生长周期 |
disease | varchar | 非空 | 否 | 常见病害 |
(5) 服务发布
4.2 安卓APP实现
(1) 开发平台
(2) 项目搭建
(3) 图像采集和上传
(4) 界面实现
4.3 系统测试
(1) 测试环境
(2) 测试方法
(3) 测试结果
表6 鱼类在线识别系统测试结果Table 6 Test results of the fish online recognition system |
鱼种类 | 可信度/% | 识别耗时/s | 网络耗时/s | 总耗时/s |
---|---|---|---|---|
五带豆娘鱼 | 98.47 | 0.074 | 0.135 | 0.209 |
双斑刺尾鱼 | 97.22 | 0.060 | 0.108 | 0.168 |
双带小丑鱼 | 99.62 | 0.058 | 0.128 | 0.186 |
长棘光鳃鱼 | 97.01 | 0.059 | 0.137 | 0.196 |
黄足笛鲷 | 97.20 | 0.058 | 0.077 | 0.135 |
褐蓝子鱼 | 78.66 | 0.056 | 0.118 | 0.174 |
弓月蝴蝶鱼 | 95.97 | 0.059 | 0.105 | 0.164 |
双线眶棘鲈 | 85.08 | 0.071 | 0.115 | 0.186 |
黑三角倒吊鱼 | 99.39 | 0.061 | 0.107 | 0.168 |
黑马鞍鲀鱼 | 99.30 | 0.058 | 0.138 | 0.196 |
莎姆金鳞鱼 | 85.23 | 0.072 | 0.191 | 0.263 |
黑鳍粗唇鱼 | 95.52 | 0.062 | 0.113 | 0.175 |
迪克氏固曲齿鲷 | 91.77 | 0.061 | 0.111 | 0.172 |
镰鱼 | 88.06 | 0.060 | 0.099 | 0.159 |
黑嘴雀鱼 | 87.49 | 0.058 | 0.131 | 0.189 |
鹦嘴鱼 | 97.98 | 0.059 | 0.112 | 0.171 |
网纹宅泥鱼 | 96.69 | 0.064 | 0.079 | 0.143 |
康德锯鳞鱼 | 87.64 | 0.057 | 0.100 | 0.157 |
摩鹿加雀鲷 | 92.97 | 0.065 | 0.114 | 0.179 |
黄纹炮弹鱼 | 87.25 | 0.059 | 0.159 | 0.218 |
黑缘单鳍鱼 | 94.46 | 0.061 | 0.117 | 0.178 |
横带粗唇鱼 | 99.46 | 0.064 | 0.128 | 0.192 |
川纹蝴蝶鱼 | 91.46 | 0.057 | 0.105 | 0.162 |
平均值 | 93.21 | 0.061 | 0.119 | 0.180 |