华为云“云上先锋”生活垃圾图片分类

发布时间:2025-08-13 17:33

垃圾分类是环保行为的重要一环,分为可回收、有害、湿垃圾和干垃圾四类。 #生活知识# #生活习惯# #垃圾分类#

向AI转型的程序员都关注了这个号

机器学习AI算法工程 公众号:datayx

在2020.12-2021.1这段时间和师兄参加了华为云“云上先锋”·AI主题赛(垃圾分类),最后拿到了 第7名(7/1405)的成绩,在最终榜单上分数为96.64

赛题描述

模型输出格式示例:

{undefined

" result ": “可回收物/易拉罐”

}

数据说明

本次比赛提供的训练集中包含了43类生活中常见垃圾,参赛者可自行划分用于模型调优用的验证集和测试集。

datasets

|- train_data ( 训练集目录,包含垃圾图片和对应的标签文件(.txt))

|- garbage_classify_rule.json (垃圾分类规则字典,key值是id,value是“垃圾种类/具体物品名”。

例如训练数据标签文件img1.txt的内容是“img_1.jpg, 0”,表示img_1.jpg这张图中的垃圾是“其他垃圾/一次性快餐盒”。)

评分标准

如上文模型输出格式示例中,模型预测的物品类别是“易拉罐”,如果图片的真实类别是易拉罐,则这张图片预测正确,否则预测错误。评价指标的计算方式是:

代码 获取方式:

关注微信公众号 datayx 然后回复 垃圾分类即可获取。

数据分析

这次也是属于图像分类的一种,但是官方要求不能使用多模型融合和TTA,只能看单模型的泛化能力,所以要在单模型上挖掘出最大潜能。图像训练集总共包含43类,2.1W张,这个比赛在2019年已经有过类似的了,当时是40类,为了增强泛化,我们把上一届比赛某获奖方案中自行添加的4K数据也加了进来。后续结果证明,因为这个附加数据已经经过筛选,加入后会带来0.2左右的提升。

下面是做一个数据可视化分析:

类别说明:

{undefined

“0”: “其他垃圾/一次性快餐盒”,

“1”: “其他垃圾/污损塑料”,

“2”: “其他垃圾/烟蒂”,

“3”: “其他垃圾/牙签”,

“4”: “其他垃圾/破碎花盆及碟碗”,

“5”: “其他垃圾/竹筷”,

“6”: “厨余垃圾/剩饭剩菜”,

“7”: “厨余垃圾/大骨头”,

“8”: “厨余垃圾/水果果皮”,

“9”: “厨余垃圾/水果果肉”,

“10”: “厨余垃圾/茶叶渣”,

“11”: “厨余垃圾/菜叶菜根”,

“12”: “厨余垃圾/蛋壳”,

“13”: “厨余垃圾/鱼骨”,

“14”: “可回收物/充电宝”,

“15”: “可回收物/包”,

“16”: “可回收物/化妆品瓶”,

“17”: “可回收物/塑料玩具”,

“18”: “可回收物/塑料碗盆”,

“19”: “可回收物/塑料衣架”,

“20”: “可回收物/快递纸袋”,

“21”: “可回收物/插头电线”,

“22”: “可回收物/旧衣服”,

“23”: “可回收物/易拉罐”,

“24”: “可回收物/枕头”,

“25”: “可回收物/毛绒玩具”,

“26”: “可回收物/洗发水瓶”,

“27”: “可回收物/玻璃杯”,

“28”: “可回收物/皮鞋”,

“29”: “可回收物/砧板”,

“30”: “可回收物/纸板箱”,

“31”: “可回收物/调料瓶”,

“32”: “可回收物/酒瓶”,

“33”: “可回收物/金属食品罐”,

“34”: “可回收物/锅”,

“35”: “可回收物/食用油桶”,

“36”: “可回收物/饮料瓶”,

“37”: “有害垃圾/干电池”,

“38”: “有害垃圾/软膏”,

“39”: “有害垃圾/过期药物”,

“40”: “可回收物/毛巾”,

“41”: “可回收物/饮料盒”,

“42”: “可回收物/纸袋”

}

上图可以看到类别还是不太平衡的,后续结果表明,虽然类似于3,20,40,41,42的数据较少,但在这些类别上的正确率还不错,没有表现出很恶劣的情况。我们在训练时把数据划分为9-1格式,90%train,10%val,最后也尝试过全部数据进行训练,但是结果一直不太好,还没能超越9-1划分最高分。

做数据增强的时候,发现很多垃圾图片都是对称的,还有轻微的旋转角度,所以也没有加入过多的数据增强。

最终选择的训练数据增强操作如下:

这里的 input_size / 0.934 是针对 tf_efficientnet_b5_ns 模型456输入的cropt_pct,对应普通的224输入就是 input_size/0.875 。

模型训练

1.网络选择

最开始用resnet50跑了一个baseline,提交后再换不同模型,这些操作都比较无脑,就是加大分辨率大模型了,因为之前ACCV细粒度分类比赛第2名使用了efficientnet的ns模型,这次延续了上次的做法,改为timm库中的tf_efficientnet_bx_ns 系列,这个在imagent上的Top1准确率表现很不错

2.训练过程

我们在单卡2080TI上训练,优化器选择了SGD,初始 lr=0.001,使用ReduceLROnPlateau进行衰减,这里是对val_loss进行判断,如果2个epoch都没有减少,则学习率衰减0.1倍,因为val_acc震荡太多在20epoch左右,使用val_loss会更好一点。

损失函数开始选择 CrossEntropyLoss ,后面改为LabelSmoothingLoss,smoothing=0.1,会涨点0.25.

后面改为b6/b7系列发现效果会变差,b5是最优的选择,也试了swsl_resnext101系列,发现效果不怎么好,但是可能也是我们炼丹不够好。

在训练 tf_efficientnet_b5_ns 时,使用了混合精度Apex训练,batchsize=12,20-40个epoch之间出最好结果。

我们发现加大模型,加大分辨率最多在b5上达到了96.5的结果,后面试了很多方法也没有提升:

(1)全部数据训练后,没啥提升;

(2)还使用了破坏-重建学习DCL网络,没提升;

(3)NIPS2020汤凯华新提出的De-confound TDE(训练时需要De-confound Training,说人话就是classifier需要使用multi-head normalized classifier),没啥提升;

(4)也试了随机SWA方法,波动大,效果也不行;

(5)试了超参数搜索,设置初始学习率和drop_rate两个参数,发现还是lr=0.001,drop_rate=0.1效果最好;

(6)分层学习率,特征提取部分学习率0.001,全连接层为0.01,效果也一般。

玄学炼丹

比赛结束前一天,试了最后一个trick,在96.5最好结果的预训练模型上训练全部数据,冻结特征提取层,仅跑全连接层,提交了第3个epoch的结果,因为它看着val_loss最低,val_acc还可以,然后结果出来96.64,炼丹大法最后一天终于有了可见的效果。

机器学习算法AI大数据技术

搜索公众号添加: datanlp

阅读过本文的人还看了以下文章:

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

网址:华为云“云上先锋”生活垃圾图片分类 https://www.yuejiaxmz.com/news/view/1232301

相关内容

“华为云杯”2020深圳开放数据应用创新大赛·生活垃圾图片分类(目标检测)
华为云桌面如何清理垃圾文件
党员模范先锋!同德街积极推动垃圾分类新时尚
云阳:垃圾分类引领绿色“新时尚” 擦亮群众幸福生活“底色”
垃圾分类图片数据集
云南餐厨垃圾回收塑料桶规格及图片
红领巾助力垃圾分类 争做文明小先锋
“益”起行动!白云区同德街垃圾分类进社区送上“环保秘籍”
垃圾分类,从我做起:让每个人成为环保先锋
【生活垃圾桶分类图片大全】

随便看看