垃圾分类算法

简介: 垃圾分类算法


垃圾分类算法

基于TensorFlow和VGG-16卷积神经网络训练垃圾分类模型,通过服务器实现分类模型移植到移动端,并在微信小程序中进行应用。

系统整体结构

Python环境

安装Anconda 34.2.0版本,Windows版本下的TensorFlow暂时不支持Python 2.7,需要安装Python 3.7。

TensorFlow环境

由于Keras默认TensorFlow为后端,本项目采用TensorFlow作为Keras后端。打开Anaconda Prompt。

(1)在C:\Users\Lenovo\Anaconda3\envs新建环境目录,例如,DeepLearning。

(2)在命令行窗口输入以下命令激活DeepLearning:

C:\Users\Lenovo\Anaconda3>activate DeepLearning

(3)输入以下命令安装tensorflowgpu:

conda install tensorflow-gpu

Anaconda会自动显示匹配所需的安装包,输入y,安装完成。

(4)安装tensorflow-gpu后,在新建的DeepLearning环境中安装基础库。

(5)在CMD命令行或者Powershell中安装Keras,输入以下命令:

pip install keras

验证Keras是否安装成功,在命令行中输入Python命令变成命令行环境后输入:

import keras

未报错,则Keras成功安装。

微信小程序及后台服务器环境

(1)下载微信开发者工具v1.02.2003112,扫描二维码登录后进行程序编写。

(2)服务器配置为2核CPU、4GB内存、CentOS 7.6 64位操作系统、1Mbps带宽。

(3)配置出入安全组,开放端口有22、80、443、3306、5000。

(4)后台需要安装Nginx、编译工具和库文件,首先运行:

yum-y install make zlib zlib-devel gcc-c++libtool openssl openssl-devel

下载Nginx源文件:

wgethttp://nginx.org/download/nginx-1.6.2.tar.gz

解压并编译安装。

(5)安装PHP,相关代码如下:

数据预处理

据下载地址为:https://pan.baidu.com/s/1VhJnSRKlpUOHRp1P4MZ0pQ,提取码:8dsd。该数据集包含10种垃圾:纸箱、玻璃、金属、纸、塑料、其他废品、LED灯泡、瓜子、白菜、纽扣电池,每种垃圾数据集大约包含300~400张图片,压缩后的尺寸为512×384。筛选出具有明显特征的(主要是单一物体、单一背景)垃圾图片

首先,对图片进行缩放和翻转,并压缩为(150,150);其次,把10%的数据作为测试集,训练数据进行分批,每批16张图片。

相关代码如下:

目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
21 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
1月前
|
缓存 算法 Java
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
这篇文章详细介绍了Java虚拟机(JVM)中的垃圾回收机制,包括垃圾的定义、垃圾回收算法、堆内存的逻辑分区、对象的内存分配和回收过程,以及不同垃圾回收器的工作原理和参数设置。
60 4
JVM知识体系学习六:JVM垃圾是什么、GC常用垃圾清除算法、堆内存逻辑分区、栈上分配、对象何时进入老年代、有关老年代新生代的两个问题、常见的垃圾回收器、CMS
|
1月前
|
存储 算法 Java
【JVM】垃圾释放方式:标记-清除、复制算法、标记-整理、分代回收
【JVM】垃圾释放方式:标记-清除、复制算法、标记-整理、分代回收
49 2
|
6月前
|
机器学习/深度学习 数据采集 算法
基于贝叶斯算法的手机垃圾短信过滤
基于贝叶斯算法的手机垃圾短信过滤
|
6月前
|
存储 缓存 算法
深度解析JVM世界:垃圾判断和垃圾回收算法
深度解析JVM世界:垃圾判断和垃圾回收算法
|
6月前
|
机器学习/深度学习 算法 小程序
垃圾分类算法训练及部署
垃圾分类算法训练及部署
57 1
|
数据采集 存储 机器学习/深度学习
秒懂算法 | 基于朴素贝叶斯算法的垃圾信息的识别
本文将带领大家亲手实现一个垃圾信息过滤的算法。 在正式讲解算法之前,最重要的是对整个任务有一个全面的认识,包括算法的输入和输出、可能会用到的技术,以及技术大致的流程。 本任务的目标是去识别一条短信是否为垃圾信息,即输入为一条文本信息,输出为二分类的分类结果。2002年,Paul Graham提出使用“贝叶斯推断”过滤垃圾邮件。1000封垃圾邮件可以过滤掉995封,且没有一个误判。另外,这种过滤器还具有自我学习的功能,会根据新收到的邮件,不断调整。收到的垃圾邮件越多,它的准确率就越高。 朴素贝叶斯算法是一种有监督的机器学习算法,即算法的实现包含了构建训练集、数据预处理、训练、在测试集上验证
488 0
秒懂算法 | 基于朴素贝叶斯算法的垃圾信息的识别
|
存储 算法 Java
JVM是如何判定对象为垃圾的(可达性分析算法)
被判定为垃圾的对象或者内存区域会被垃圾收集器回收。那么什么样的对象或者内存区域会被判定为垃圾呢?下面就要说起经常作为垃圾判定依据的可达性分析算法与引用计数法了。这两种算法,都是经常被用作垃圾判定的算法,下面说下这两种算法。
234 0
JVM是如何判定对象为垃圾的(可达性分析算法)
|
算法 Java
jvm(7) -- 如何回收垃圾对象、回收算法策
jvm(7) -- 如何回收垃圾对象、回收算法策
113 0
jvm(7) -- 如何回收垃圾对象、回收算法策
|
前端开发 小程序 算法
【微信小程序】基于百度大脑人体检测、人脸识别以及调用阿里垃圾分类识别小程序利用canvas完成人脸画图、分割手部部分图片算法
【微信小程序】基于百度大脑人体检测、人脸识别垃圾分类人体出现在镜头里用红色框将人脸圈出来、用黄色框将手部圈出来,定时器触发后,通过百度返回的top+、left+、width+、height+将拍照的截图用canvas画出来,最后保存上传到阿里云垃圾分类识别检测博主用的是手部关键点识别,手部截取包括手肘部分,当出现手肘没有手掌时会出现截取不到目标的问题,目前解决办法:定时器设置时间长一点供演示员做好调整,另外就是出现手掌,可以尽量把掌心打开方便识别这样手肘部分就不会被检测到了在截取的时候canvas用不了..
318 0
【微信小程序】基于百度大脑人体检测、人脸识别以及调用阿里垃圾分类识别小程序利用canvas完成人脸画图、分割手部部分图片算法