• 杏仁损伤检测器——基于CNN的图像分类


            尽管食品工业包括各种类型的企业如农业、食品加工和营销等,目前对食品的评价仍旧由人工进行,现在人工评估的使用由训练有素的工人来进行。此外,人工评估是主观的,容易出现人为错误,其固有的成本过高。这就导致了利用 现有技术的重要性,这些技术不仅将提高效率,而且还将提高评价的质量。图像处理技术和模式识别为解决该问题提供了可能。深度学习技术被广泛应用于食品检测的自动化领域。

            在这个项目中,我们创建了一个基于flask的应用程序来对上传的杏仁图像进行分类。首先,我们训练了卷积神经网络(CNN)并保存了模型参数,用于图像的结果预测。为了简单起见,最初为杏仁类型创建了正常和破损两种数据。

            如上所述,这个项目是对杏仁分为两类,即正常的或破碎的,因此二元交叉熵将被用作损失函数。二值交叉熵是一种用于二值分类任务的损失函数。这些任务回答问题,只有两 个选择,给出是或否

                                                             图1损失函数方程

            当观察属于第1类时,公式的第一部分变得活跃,第二部分消失,反之亦然。

            数据集展示

            数据预处理:所有图像都被调整到宽度为150,高度为150。然后数据增强应用于所训练、测试和验证的数据集上,数据增强应用了翻转、缩放和旋转等操作。由于图像的RGB系数在0-255系数之间,这对模型来说是很高的,因此必须通过重新缩放1来调整0到1之间的目标值。

            由于模型是对 (150,150,3) 的输入形状进行训练的,因此必须将上传的图像进行变换和调整大小,然后再使用自定义函数实现预测。

             实现过程:使用Keras框架,创建的模型由2个卷积层组成,卷积的激活函数是ReLU激活函数,池化采样最大池化。此外,在卷积层的顶部还添加了一个完全连接层

            应用程序开发:训练好的模型被保存并加载到一个flask应用程序的后端。然后创建一个会话来使用该模型预测上传的图像,上传的图像将保存在SQLlite数据库中,并将预测结果文件保存在指定的文件中。当图像在后端被分类后,图像预测结果精度将被发送到一个前端网页,在那里结果将与预测结果一起显示。

             完整代码联系:QQ525894654

             结果如下:

  • 相关阅读:
    代码随想录 Day 48| 198. 打家劫舍 |
    scratch保护环境 2023年5月中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析
    iwebsec靶场 反序列化关卡通关笔记1
    计算机毕业设计基于Python实现的药店|药房管理系统
    iOS App Tech Support(URL)
    攻防演练-安全监测岗都做哪些工作
    JavaWeb出现错误提问
    使用Postman工具做接口测试 —— 环境变量与请求参数格式!
    判断二叉树是否为完全二叉树
    java数据结构与算法刷题-----LeetCode101:对称二叉树
  • 原文地址:https://blog.csdn.net/weixin_40651515/article/details/126244582