# 前言
#### 本文介绍的分类方式可能比较繁琐,因为它是采用华为云比赛的提交模式进行的。简洁的分类版本点击这里:https://github.com/wusaifei/HWCC_image_classification
1.图像分类的更多tricks(注意力机制 keras,TensorFlow和pytorch 版本等):[图像分类比赛tricks:“华为云杯”2019人工智能创新应用大赛](https://zhuanlan.zhihu.com/p/98740628)
2.大家如果对目标检测比赛比较感兴趣的话,可以看一下我这篇对目标检测比赛tricks的详细介绍:[目标检测比赛中的tricks(已更新更多代码解析)](https://zhuanlan.zhihu.com/p/102817180)
3.目标检测比赛笔记:[目标检测比赛笔记](https://zhuanlan.zhihu.com/p/137567177)
4.如果对换脸技术比较感兴趣的同学可以点击这里:[deepfakes/faceswap:换脸技术详细教程,手把手教学,简单快速上手!!](https://zhuanlan.zhihu.com/p/376853800)
5.在日常调参的摸爬滚打中,参考了不少他人的调参经验,也积累了自己的一些有效调参方法,慢慢总结整理如下。希望对新晋算法工程师有所助力呀~:[写给新手炼丹师:2021版调参上分手册](https://zhuanlan.zhihu.com/p/376068083)
6.[深度学习中不同类型卷积的综合介绍:2D卷积、3D卷积、转置卷积、扩张卷积、可分离卷积、扁平卷积、分组卷积、随机分组卷积、逐点分组卷积等](https://zhuanlan.zhihu.com/p/366744794)
7.分类必备知识:[Softmax函数和Sigmoid函数的区别与联系](https://zhuanlan.zhihu.com/p/356976844)、[深度学习中学习率和batchsize对模型准确率的影响](https://zhuanlan.zhihu.com/p/277487038)、[准确率(Precision)、召回率(Recall)、F值(F-Measure)、平均正确率,IoU](https://zhuanlan.zhihu.com/p/101101207)、[利用python一层一层可视化卷积神经网络,以ResNet50为例](https://zhuanlan.zhihu.com/p/101038013)
8.[pytorch笔记:Efficientnet微调](https://zhuanlan.zhihu.com/p/102467338)
9.[keras, TensorFlow中加入注意力机制](https://zhuanlan.zhihu.com/p/99260231)、[pytorch中加入注意力机制(CBAM),以ResNet为例。解析到底要不要用ImageNet预训练?如何加预训练参数?](https://zhuanlan.zhihu.com/p/99261200)
# 增添内容
#### 已修改成本地可以运行。
修改方法:
1.`save_model.py|train.py|eval.py|run.py|`中`moxing.framework.file`函数全部换成`os.path`和`shutil.copy`函数。因为python里面暂时没有moxing框架。
2.注释掉`run.py`文件里面的下面几行代码:
# FLAGS.tmp = os.path.join(FLAGS.local_data_root, 'tmp/')
# print(FLAGS.tmp)
# if not os.path.exists(FLAGS.tmp):
# os.mkdir(FLAGS.tmp)
#### .md后面增添SVM分类器、决策树分类器、随机森林分类器。
# 运行环境
>python3.6
>tensorflow 1.13.1
>keras 2.24
新版本运行的话可能会运行不成功。
# garbage_classify
## 赛题背景
比赛链接:[华为云人工智能大赛·垃圾分类挑战杯](https://developer.huaweicloud.com/competition/competitions/1000007620/introduction)
如今,垃圾分类已成为社会热点话题。其实在2019年4月26日,我国住房和城乡建设部等部门就发布了《关于在全国地级及以上城市全面开展生活垃圾分类工作的通知》,决定自2019年起在全国地级及以上城市全面启动生活垃圾分类工作。到2020年底,46个重点城市基本建成生活垃圾分类处理系统。
人工垃圾分类投放是垃圾处理的第一环节,但能够处理海量垃圾的环节是垃圾处理厂。然而,目前国内的垃圾处理厂基本都是采用人工流水线分拣的方式进行垃圾分拣,存在工作环境恶劣、劳动强度大、分拣效率低等缺点。在海量垃圾面前,人工分拣只能分拣出极有限的一部分可回收垃圾和有害垃圾,绝大多数垃圾只能进行填埋,带来了极大的资源浪费和环境污染危险。
随着深度学习技术在视觉领域的应用和发展,让我们看到了利用AI来自动进行垃圾分类的可能,通过摄像头拍摄垃圾图片,检测图片中垃圾的类别,从而可以让机器自动进行垃圾分拣,极大地提高垃圾分拣效率。
因此,华为云面向社会各界精英人士举办了本次垃圾分类竞赛,希望共同探索垃圾分类的AI技术,为垃圾分类这个利国利民的国家大计贡献自己的一份智慧。
## 赛题说明
本赛题采用深圳市垃圾分类标准,赛题任务是对垃圾图片进行分类,即首先识别出垃圾图片中物品的类别(比如易拉罐、果皮等),然后查询垃圾分类规则,输出该垃圾图片中物品属于可回收物、厨余垃圾、有害垃圾和其他垃圾中的哪一种。
模型输出格式示例:
{
" result ": "可回收物/易拉罐"
}
## 垃圾种类40类
{
"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": "有害垃圾/过期药物"
}
## efficientNet默认参数
(width_coefficient, depth_coefficient, resolution, dropout_rate)
'efficientnet-b0': (1.0, 1.0, 224, 0.2),
'efficientnet-b1': (1.0, 1.1, 240, 0.2),
'efficientnet-b2': (1.1, 1.2, 260, 0.3),
'efficientnet-b3': (1.2, 1.4, 300, 0.3),
'efficientnet-b4': (1.4, 1.8, 380, 0.4),
'efficientnet-b5': (1.6, 2.2, 456, 0.4),
'efficientnet-b6': (1.8, 2.6, 528, 0.5),
'efficientnet-b7': (2.0, 3.1, 600, 0.5),
efficientNet的论文地址:https://arxiv.org/pdf/1905.11946.pdf
## 代码解析
### BaseLine改进
1.使用多种模型进行对比实验,[ResNet50](https://arxiv.org/pdf/1512.03385.pdf), [SE-ResNet50](https://arxiv.org/abs/1709.01507), [Xception](https://arxiv.org/abs/1610.02357), SE-Xception, [efficientNetB5](https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet)。
2.使用[组归一化(GroupNormalization)](https://arxiv.org/abs/1803.08494)代替[批量归一化(batch_normalization)](https://arxiv.org/abs/1502.03167)-解决当Batch_size过小导致的准确率下降。当batch_size小于16时,BN的error率
逐渐上升,`train.py`。
for i, layer in enumerate(model.layers):
if "batch_normalization" in layer.name:
model.layers[i] = GroupNormalization(groups=32, axis=-1, epsilon=0.00001)
3.[NAdam优化器](http://cs229.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 基于深度学习实现垃圾图片类别的精准识别(分可回收物、厨余垃圾、有害垃圾和其他垃圾).zip
资源推荐
资源详情
资源评论
收起资源包目录
基于深度学习实现垃圾图片类别的精准识别(分可回收物、厨余垃圾、有害垃圾和其他垃圾).zip (43个子文件)
project_code_0628
__init__.py 1B
eval.py 8KB
warmup_cosine_decay_scheduler.py 7KB
data_gen.py 8KB
Save_path.py 279B
Network.py 6KB
pip-requirements.txt 36B
deploy_scripts
config.json 1KB
customize_service.py 6KB
Groupnormalization.py 10KB
save_model.py 3KB
.idea
workspace.xml 30KB
misc.xml 303B
modules.xml 258B
deployment.xml 558B
src.iml 453B
tta_wrapper
__init__.py 79B
augmentation.py 1KB
layers.py 2KB
wrappers.py 3KB
__version__.py 62B
functional.py 3KB
run.py 9KB
efficientnet
__init__.py 3KB
model.py 25KB
preprocessing.py 2KB
tfkeras.py 732B
__version__.py 776B
__pycache__
keras.cpython-36.pyc 574B
model.cpython-36.pyc 15KB
preprocessing.cpython-36.pyc 893B
__init__.cpython-36.pyc 2KB
tfkeras.cpython-36.pyc 580B
__version__.cpython-36.pyc 241B
keras.py 708B
mean_std.py 1KB
models
__init__.py 0B
resnet50.py 25KB
aug.py 443B
mean_std.txt 204B
train.py 7KB
README.md 16KB
train.txt 2.29MB
共 43 条
- 1
资源评论
辣椒种子
- 粉丝: 3414
- 资源: 5723
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- VIVADO中UART IP核使用
- 【深度学习实际案例解析】深度学习实际案例解析
- 封装swagger组件,提供全新UI以及无状态登录接口调用解决方案
- 小龙坎支局2024年4月渠道积分核对数据.xlam
- onlyoffice搭建及与alist使用的view.html
- Quadcopter-UAV-attitude-estimation-linux常用命令大全demo
- Quadcopter-UAV-attitude-estimation-based-on-数据库课程设计
- pbdlib-python-master.zip
- 43904245495352013_base.apk
- 基于springboot+vue + redis的工作流审批系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功