首页 游戏 软件 资讯 排行榜 专题
首页
AI资讯
基于PaddleX2.0-PP-LCNet模型的咖啡豆质检分类

基于PaddleX2.0-PP-LCNet模型的咖啡豆质检分类

热心网友
35
转载
2025-07-25
本项目旨在自动筛选咖啡豆缺陷,提升咖啡风味。采用PP-LCNet模型,以886张图片为数据集(591张精品豆、295张缺陷豆),按8:2划分训练集与验证集。经训练,模型准确率达98.8%,预测效果佳。未来可通过轻量化模型、数据增强及调参优化提升泛化能力与效果。

基于paddlex2.0-pp-lcnet模型的咖啡豆质检分类 - 游乐网

基于PaddleX2.0-PP-LCNet模型的咖啡豆质量分类

一、项目背景

随着时代的发展,人们对咖啡的风味要求在不断变化中。目前,我们正处于以精品咖啡为代表的第三次咖啡浪潮中。精品咖啡的特点是:追求高品质咖啡,强调咖啡的独特风味的表达,严格筛选咖啡豆。 咖啡不仅受到人类的钟爱,还会吸引各种小虫,在咖啡果实成长过程中留下虫洞。咖啡豆采摘过程中可能混入各种杂质。在烘焙过程中,咖啡豆受热不均或温度变化过快会产生各种缺陷。这些缺陷经过存储过程会产生霉变等变化,严重影响咖啡风味。咖啡豆中混入上述杂质特别影响整体风味,本项目旨在实现对咖啡豆缺陷的自动筛选。

二、数据集介绍

在咖啡豆筛选过程中,咖啡熟豆常见缺陷有:瑕疵豆、碎片等,如下图所示: 训练集共886张咖啡豆的图片,其中包含591张精品咖啡豆,295张有缺陷的咖啡豆基于PaddleX2.0-PP-LCNet模型的咖啡豆质检分类 - 游乐网        

三、总体思路

本方案采用飞桨全新发布的PP-LCNet模型架构,该模型比起其他的轻量级的 SOTA 模型,该骨干网络可以在不增加推理时间的情况下,进一步提升模型的性能,最终大幅度超越现有的 SOTA 模型。

PP-LCNet网络结构图如下:


基于PaddleX2.0-PP-LCNet模型的咖啡豆质检分类 - 游乐网        

3.1 解压数据集

In [ ]
!unzip -oq /home/aistudio/data/data150459/dataset3.zip -d work/
登录后复制    

3.2 安装PaddleX开发套件

In [1]
!pip install paddlex
登录后复制    

3.3 预处理

* 划分数据集* 生成标签
登录后复制    In [ ]
!paddlex --split_dataset --format ImageNet --dataset_dir work/dataset3/ --val_value 0.2
登录后复制    

按照8:2划分训练集和测试集.Train数量为:709 Eval 数量为: 177

2024-06-04 16:27:51 [INFO]Dataset split starts...2024-06-04 16:27:51 [INFO]Dataset split done.2024-06-04 16:27:51 [INFO]Train samples: 7092024-06-04 16:27:51 [INFO]Eval samples: 1772024-06-04 16:27:51 [INFO]Test samples: 02024-06-04 16:27:51 [INFO]Split files saved in work/dataset3/
登录后复制    

3.4 训练

* PP-LCNet模型组网* 调整训练参数
登录后复制    In [ ]
import paddlex as pdxfrom paddlex import transforms as T# 定义训练和验证时的transforms# API说明:https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/apis/transforms/transforms.mdtrain_transforms = T.Compose(    [T.RandomCrop(crop_size=224), T.RandomHorizontalFlip(), T.Normalize()])eval_transforms = T.Compose([    T.ResizeByShort(short_size=256), T.CenterCrop(crop_size=224), T.Normalize()])# 定义训练和验证所用的数据集# API说明:https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/apis/datasets.mdtrain_dataset = pdx.datasets.ImageNet(    data_dir='work/dataset3/',    file_list='work/dataset3/train_list.txt',    label_list='work/dataset3/labels.txt',    transforms=train_transforms,    shuffle=True)eval_dataset = pdx.datasets.ImageNet(    data_dir='work/dataset3/',    file_list='work/dataset3/val_list.txt',    label_list='work/dataset3/labels.txt',    transforms=eval_transforms)# 初始化模型,并进行训练# 可使用VisualDL查看训练指标,参考https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/visualdl.mdnum_classes = len(train_dataset.labels)model = pdx.cls.PPLCNet(num_classes=num_classes, scale=1)# API说明:https://github.com/PaddlePaddle/PaddleX/blob/develop/docs/apis/models/classification.md# 各参数介绍与调整说明:https://github.com/PaddlePaddle/PaddleX/tree/develop/docs/parameters.mdmodel.train(    num_epochs=100,    pretrain_weights='IMAGENET',    train_dataset=train_dataset,    train_batch_size=64,    eval_dataset=eval_dataset,    lr_decay_epochs=[4, 6, 8],    learning_rate=0.1,    save_dir='output/pplcnet',    log_interval_steps=10,    label_smoothing=.1,    use_vdl=True)
登录后复制    
2024-06-04 16:37:16 [INFO]Model saved in output/pplcnet/epoch_99.2024-06-04 16:37:17 [INFO][TRAIN] Epoch=100/100, Step=1/11, loss=0.204105, acc1=1.000000, acc2=1.000000, lr=0.000025, time_each_step=0.31s, eta=0:0:32024-06-04 16:37:19 [INFO][TRAIN] Epoch=100/100, Step=11/11, loss=0.259414, acc1=0.953125, acc2=1.000000, lr=0.000000, time_each_step=0.24s, eta=0:0:02024-06-04 16:37:19 [INFO][TRAIN] Epoch 100 finished, loss=0.22206952, acc1=0.984375, acc2=1.0 .2024-06-04 16:37:20 [INFO]Start to evaluate(total_samples=177, total_steps=3)...2024-06-04 16:37:21 [INFO][EVAL] Finished, Epoch=100, acc1=0.982781, acc2=1.000000 .2024-06-04 16:37:21 [INFO]Current evaluated best model on eval_dataset is epoch_64, acc1=0.98798894882202452024-06-04 16:37:21 [INFO]Model saved in output/pplcnet/epoch_100.
登录后复制    

3.5 训练结果

* 最终训练结果acc1=0.98.8,训练的效果非常不错,可以达到应用级的效果
登录后复制    

3.6 训练结果可视化

基于PaddleX2.0-PP-LCNet模型的咖啡豆质检分类 - 游乐网        

四、模型预测

在训练100个epoch后,本项目的最终得分为0.98,达到了比较好的效果

模型训练好之后就可以开始预测,本项目随机抽取test里的数据,预测结果如下,可以看出预测的非常准确

In [2]
import paddlex as pdxtest_jpg = 'IMG_20200618_124521_1.webp'model = pdx.load_model('output/pplcnet/best_model')result = model.predict(test_jpg)print("Predict Result: ", result)
登录后复制    

我们随机挑选了测试集的一张照片来验证模型的效果,可以看出模型准确的识别了,而且分数还很高,说明模型效果很棒

基于PaddleX2.0-PP-LCNet模型的咖啡豆质检分类 - 游乐网        

2024-06-04 20:22:09 [INFO]Model[PPLCNet] loaded.Predict Result:  [{'category_id': 1, 'category': 'Debris_Shell', 'score': 0.93589294}]
登录后复制    

五、改进方向

如果后期在进行实际应用,可以考虑往模型轻量化方向优化因为本文项目的数据集量比较少,可以对训练集进行数据增强从而增大训练数据量以提升模型泛化能力可以在基线模型的基础上通过调参及模型优化进一步提升效果
来源:https://www.php.cn/faq/1426623.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Git钩子自动部署配置指南 Linux服务器实战教程
系统平台
Git钩子自动部署配置指南 Linux服务器实战教程

直接说结论:使用 post-receive 钩子配合 GIT_WORK_TREE 环境变量,是实现 Git 自动部署最稳定可靠的方案。至于 post-update 钩子或在裸仓库中直接执行 checkout 的方法,强烈建议避免使用——它们不仅容易失败,而且错误信息往往不明确,排查过程极其耗时。 为

热心网友
05.18
柴犬币未来两年价格能否上涨十倍突破关键阻力位
web3.0
柴犬币未来两年价格能否上涨十倍突破关键阻力位

柴犬币(SHIB)两年内有望达到0 0001美元?深度解析其路径与挑战 柴犬币(SHIB)两年内有望达到0 0001美元,多家机构预测其2026至2028年可能实现破零,核心动力来自通缩销毁机制、Shibarium网络推动及生态扩展,但面临高流通量、市场竞争和实用性验证等挑战,需结合市场环境与长期发

热心网友
05.18
Git分支管理与合并操作指南
AI资讯
Git分支管理与合并操作指南

如果你曾尝试使用Perplexity这类AI工具来学习Git分支管理,但总觉得得到的回答过于笼统、缺乏可操作的细节——例如,它可能只告诉你“使用merge合并分支”,但具体的操作步骤、遇到冲突时的处理方法却语焉不详——那么问题很可能出在你的提问方式上。AI并非真人导师,它需要更精确的指令才能输出有价

热心网友
05.17
Linux配置Git提交模板的详细步骤与实用技巧
系统平台
Linux配置Git提交模板的详细步骤与实用技巧

配置Git提交模板,本意是让每次提交信息都清晰、规范,但实际操作中,几个隐蔽的“坑”常常让这个功能形同虚设。今天,我们就来把这些坑一个个填平。 路径写错就静默失效,这是第一个大坑 配置项 commit template 对路径的敏感度超乎想象。写错一点,它不会报错,只会默默地“罢工”。结果就是你兴冲

热心网友
05.17
Linux配置Git提交规范与Commit模板设置指南
系统平台
Linux配置Git提交规范与Commit模板设置指南

配置 git commit template 来统一团队提交信息的格式,是建立 Git 工作流规范的第一步。然而,如果你认为仅靠一个模板文件就能一劳永逸,那可能陷入了一个常见的误区。实际上,这个配置的作用非常基础:它仅在你不使用 -m 参数、通过编辑器进行交互式提交时,将模板内容预填到提交信息编辑器

热心网友
05.17

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

AI Agent能力进化平台 水产市场实用技能全解析
AI资讯
AI Agent能力进化平台 水产市场实用技能全解析

水产市场是什么 在AI Agent的生态中,能力共享与协同进化是核心驱动力。水产市场(Seafood Market)正是为OpenClaw框架量身打造的AI Agent能力共享平台。你可以将其理解为AI领域的“应用商店”或“技能交易中心”,旨在实现AI能力的快速流通与组合创新。 目前,平台已集成超过

热心网友
05.24
MeowTXT AI音视频转文字工具 智能识别说话人
AI资讯
MeowTXT AI音视频转文字工具 智能识别说话人

在信息爆炸的时代,高效地将音视频内容转化为可编辑、可检索的文字,已经成为内容创作者、研究者和职场人士的刚需。今天要聊的这款工具——MeowTXT,正是瞄准了这一痛点,它不仅仅是一个简单的转录工具,更是一个集成了智能识别、摘要和翻译的AI生产力平台。 MeowTXT是什么 简单来说,MeowTXT是一

热心网友
05.24
开源AI Agent操作系统OpenFang自动执行完整工作流
AI资讯
开源AI Agent操作系统OpenFang自动执行完整工作流

OpenFang是什么 在AI Agent领域,我们常常面临一个困境:大多数系统仍然停留在“你说一句,它动一下”的被动模式,离真正的自动化还有距离。今天要聊的OpenFang,正是在尝试打破这个局面。它是一个用Rust语言构建的开源Agent操作系统,其核心创新在于引入了“Hands”的概念——你可

热心网友
05.24
腾讯混元开源全模态大模型压缩工具包AngelSlim详解
AI资讯
腾讯混元开源全模态大模型压缩工具包AngelSlim详解

AngelSlim是什么 随着大模型参数规模不断增长,如何实现高效推理与低成本部署已成为开发者面临的核心挑战。腾讯混元团队推出的开源工具包AngelSlim,正是为解决这一难题而生。它是一个面向全模态大模型的综合压缩与加速解决方案,集成了量化、投机采样、稀疏化及知识蒸馏等前沿技术,旨在为各类大语言模

热心网友
05.24
AI音视频转录工具Transcript LOL 智能区分说话人
AI资讯
AI音视频转录工具Transcript LOL 智能区分说话人

在信息过载的数字化时代,音频与视频内容已成为知识传递、创意表达与商业沟通的核心载体。然而,如何将这些宝贵的非结构化媒体资产,高效、精准地转化为可搜索、可分析、可编辑的文本格式,始终是内容创作者、市场研究人员、学者及商务人士的核心痛点。一款强大的AI转录工具,正是打通音视频内容价值闭环、释放生产力潜能

热心网友
05.24