论文部分内容阅读
随着物质生活水平不断提高,人们对食品的来源和营养价值越来越关心。然而,由于食物种类日益繁多,分辨出菜市场买来的食物属于哪一品类变成了一件既有乐趣又具有挑战性的事情。卷积神经网络(Convolutional Neural Network)在图像识别任务上不断发展,在特定任务上的准确率可以和人类相媲美。本文将卷积神经网络应用到鱼类图像识别问题上,并结合实际应用需求,在搭载摄像头的移动设备上植入识别算法,设计了一个不依赖于云端资源的独立应用。主要完成了以下几个方面的工作:(1)通过利用网络爬虫技术以及移动端数据采集应用等手段,收集了大量候选图片。然后,为了解决样本不足和类别不平衡的问题,利用图像增强技术和过采样技术完成了数据集预处理,最终得到类别平衡的食用鱼图像数据集。(2)以Mobile Net V2网络结构作为基准模型,确定了使用NAdam作为优化算法。在此基础上,对比分析了交叉熵(Cross Entropy)损失函数和焦点损失(Focal Loss)函数的特点,并设计实验在食用鱼图像数据集上验证了二者的性能差异。最终确定使用焦点损失函数作为网络损失函数。使用阈值移动方法进一步降低类别不平衡对算法准确率的影响。最终完成训练得到分类模型。(3)使用Tensor Flow Lite依赖库,完成模型从PC到移动端的转换。在此基础上进一步进行部署、优化,完成了从调用摄像头拍摄图片到本地识别图像并将处理结果反馈给用户整个过程,实现了Android端鱼类图像识别应用的开发实践。