昇腾社区首页
中文
注册
昇腾社区
昇腾AI市场
主页
解决方案
原生大模型
软件服务
ModelZoo
应用案例
Powered by Ascend
文档HOT
支持
应用案例
垃圾分类
垃圾分类
图像分类PythonAscendCL

1813次浏览

暂无评分
我要评分
雅态清香、秀碧盈盈之境方为人类最具愿景的生存之地。 感叹“湖光秋月两相和,潭面无风镜未磨”的刘禹锡,让世人体会到了湖水清澈如空明,水天一色入画境的自然之景,描绘出大自然处处富有蓬勃生机的美好。 范仲淹《岳阳楼记》中的天色湖光、鸥鸟飞翔、簇簇鱼游、香草青翠、渔夫高歌之乐,令人神往不已亲近自然之趣! 垃圾处置不当会造成土壤,空气,海洋的严重污染,地球上有限资源被无限破坏,各种极端天气接踵而至,疫情肆虐,病毒感染…… 水绿山葱,气清天朗的生态建设势在必行,功在当代、却利在千秋。能够成为传世之宝的也可以是一份“文明”,让我们一起通过AI做好垃圾分类,更是让爱归位!

概述

垃圾分类是对垃圾收集处置传统方式的改革,是对垃圾进行有效处置的一种科学管理方法。人们面对日益增长的垃圾产量和环境状况恶化的局面,如何通过垃圾分类管理,最大限度地实现垃圾资源利用,减少垃圾处置的数量,改善生存环境状态,是当前世界各国共同关注的迫切问题。

垃圾分类是符合国情的发展策略“既要金山银山,又要绿水青山”,所幸国人已经深刻的意识到垃圾分类带来的巨大经济效益与对环境保护的重要意义。然而面对种类繁多的垃圾,多数国人不能进行有效而全面的分辨,面对这一尴尬现状,人工智能提供了解决方案。


如下图所示,昇腾软件栈中存在一个ATC模型转换工具,针对本应用,我们需要使用该工具将原始模型转换成系统支持的om模型。


本应用采用了下图所示的模块化设计,通过各模块之间的协调配合完成一张图片的推理输出。

其中各个模块的主要功能点如下所示:

1.运行管理资源申请:用于初始化系统内部资源,固定的调用流程。

2.加载模型文件并构建输出内存:从文件加载离线模型moblienetv2.om数据,需要由用户自行管理模型运行的内存,根据内存中加载的模型获取模型的基本信息包含模型输入、输出数据的数据buffer大小;由模型的基本信息构建模型输出内存,为接下来的模型推理做好准备。

3.数据预处理:对读入的图像数据进行预处理,然后构建模型的输入数据。

4.模型推理:根据构建好的模型输入数据进行模型推理。

5.解析推理结果:根据模型输出,解析模型的推理结果。使用OpenCV将垃圾分类的结果写进图片。


图像预处理

使用DVPP对读入图片进行解码,并缩放至224 × 224分辨率,以符合网络输入大小;在模型转换时,使用AIPP功能,将unit8的数据转换为fp16格式,将0~255的数值归一化到-1~1,将BGR的图片格式转换为RGB格式。


模型推理结果后处理

后处理模块主要是对模型的推理结果进行变换,然后将变换结果展示给用户。首先在终端打印对应垃圾置信度最高的结果,然后使用pillow工具将结果写在图片上,并保存到本地 进行展示。


更新日志

2021/1/6 对案例代码进行优化后灰度测试,模型支持26种类别,准确率70%以上。

2020/12/15 案例灰度测试,模型支持26种类别,准确率50%左右。


开发者贡献

该样例由华为团队和金点子发起人张辉联合开发。
开发过程可参见昇腾社区论坛帖:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=91529&page=1#pid547549


效果展示




关于昇腾

昇腾计算产业概述

新闻与活动

新闻资讯昇腾活动

交流与资讯

昇腾论坛技术干货

支持与服务

文档技术工单

开源社区

昇思社区昇腾开放资源
关注我们
友情链接
华为官网华为计算鲲鹏社区华为云启智社区
版权所有 © 2021-2025华为技术有限公司 保留一切权利粤A2-20044005号
粤公网安备 44030702005057号
法律声明隐私政策Cookie协议用户协议联系我们