一种基于深度强化学习的垃圾分拣装置与方法与流程

文档序号:20287231发布日期:2020-04-07 16:17阅读:471来源:国知局
一种基于深度强化学习的垃圾分拣装置与方法与流程

本申请属于垃圾分拣领域,具体涉及一种基于深度强化学习的垃圾分拣装置与方法。



背景技术:

随着城市化进程加快,城市居民生活水平的提高,城市生活垃圾的产生量也在急剧增加。目前,国内许多城市的垃圾清运量已大大超过了处理设施的处理能力,未经处理的垃圾如若被简易堆放或填埋,则会占用土地,污染空气、土壤及地下水体。而垃圾分类作为一种对传统垃圾收集处置方式的改革,是对垃圾进行有效处置的一种科学方法。如得到有效执行,能够实现减少占地,减少污染,垃圾回收再利用等成效。

鉴于上述情况,国内许多城市已经在推行垃圾分类制度。然而,在实际操作过程中,依靠居民自主地对垃圾分类存在诸多问题,包括对垃圾分类知识的不足导致垃圾分类不正确,配套设施不到位,相关的监督管理模式操作困难等等。这些问题影响了垃圾分类政策的推广与实施成效,也引发了一些社会舆论对垃圾分类政策的探讨。更多地宣传垃圾分类知识,建设配套设施等举措能够一定程度上缓解上述问题,但同时也需要投入较多的额外成本。

另一方面,随着人工智能技术高速发展,各种ai算法已在多个领域实现了较强的智能水平。其中,以alphago围棋的深度学习+蒙特卡洛树搜索、deepq-learning为代表的深度强化学习技术在智能博弈与决策方面取得了显著的突破。强化学习的基本思想是,智能体依据某种行动策略作出行动与环境交互,环境返回这一行动所产生的奖励,智能体能够根据这一奖励优化自己的行动策略,从而将累积奖励的期望最大化,最终实现智能体的行动目标。

但是,由于垃圾分类面对的垃圾样式繁多,现有技术中的在垃圾智能分类方面还是具有很大空缺,对垃圾分类的准确性一直不尽人意,故如何利用人工智能技术在垃圾分类方面灵活应用成为现如今的研究热点。



技术实现要素:

本申请的目的在于提供一种基于深度强化学习的垃圾分拣装置与方法,采用采用深度强化学习模型得到机械臂的最优行动,不依赖于垃圾的定位识别,分类速度快,且分类准确率高。

为实现上述目的,本申请所采取的技术方案为:

一种基于深度强化学习的垃圾分拣装置,所述的基于深度强化学习的垃圾分拣装置包括工作台,以及设置在所述工作台上的机械臂、ai计算单元和摄像头,其中:

所述工作台上设有用于放置待分拣垃圾的待分拣区域;

所述摄像头用于定时获取图像数据,并将所述图像数据发送至所述ai计算单元,所述图像数据包含待分拣区域中待分拣垃圾的情况以及机械臂的状态;

所述ai计算单元用于根据所述摄像头获取的图像数据,采用深度强化学习模型计算当前机械臂的最优行动,输出对应的控制指令发送至机械臂;

所述机械臂用于根据所述ai计算单元输出的控制指令动作,对待分拣垃圾进行抓取、移动和投放操作,完成垃圾分拣。

作为优选,所述深度强化学习模型的智能体为机械臂、摄像头和ai计算单元构成的整体;

所述深度强化学习模型的状态为待分拣区域中待分拣垃圾的情况以及机械臂的状态;

所述深度强化学习模型的动作空间为机械臂的控制指令的集合;

所述深度强化学习模型的奖励的设置为对正确的垃圾分拣动作给予正奖励,对错误的垃圾分拣动作给予负奖励;

所述深度强化学习模型的策略为状态到动作的映射,即摄像头获取的图像数据到机械臂的动作的映射。

作为优选,所述深度强化学习模型中的值函数的构建过程,包括以下步骤:

令所述摄像头所捕捉到的图像的集合为状态集s,其中si为i时刻的图像,si∈s,令机械臂的控制指令的集合为指令集a,ai为i时刻的机械臂接收的控制指令,ai∈a,定义状态到动作的映射,即摄像头状态s下,选取机械臂控制指令a的策略π,a=π(s);定义奖励函数即状态s下采取动作a所获得的奖励为r,则定义所述深度强化学习模型中的值函数为:

其中,qπ(s,a)为状态s下采取动作a的q值,ri为i时刻智能体获得的奖励,γ为折扣因子,γ∈[0,1],γi为i时刻的折扣因子。

作为优选,所述值函数的网络参数为θi时的损失函数公式定义为:

其中,q*(s,a)表示q值估计网络,e表示求取期望,li(θi)为值函数的网络参数为θi时的损失函数值,q(s,a;θi)为当前值函数,s′为下一个状态,a′为下一个状态的动作,v为值函数,q*(s′,a′)表示s′状态下采取a′动作的q值,y表示状态动作下的目标q值。

作为优选,所述深度强化学习模型的训练过程包括:

1)初始化经验回收区d,设置经验回收区d的容量为n;

2)初始化q值估计网络,随机生成权重θ,初始化q值现实网络,所述q值现实网络即为所述值函数,取权值θ′=θ;

3)初始化episode=1;

4)初始化初始状态为s1;

5)初始化t=1;

6)以∈概率选择一个随机的动作作为st,或者取动作st=maxq(s,a|θ);

7)执行动作at,获得奖励rt和新的状态st+1;

8)将(st,at,rt,st+1)存入经验回收区d中;

9)从经验回收区d中随机抽取一组(st,at,rt,st+1),计算损失函数以训练q值估计网络;

10)更新q值现实网络,取权值θ′=θ;

11)若t≤t,则重新执行步骤6),若1>t,则执行步骤12);

12)若episode≤m,则重新执行步骤4),若episode>m,则结束。

作为优选,所述基于深度强化学习的垃圾分拣装置首先采用软件仿真环境训练,并在软件仿真环境训练后采用无人监督的真实环境训练;

在所述无人监督的真实环境训练,对用于训练的垃圾样本贴上rfid标签,根据rfid标签判断对应垃圾样本是否被正确分类,将判断结果作为返回的奖励。

本申请还提供一种基于深度强化学习的垃圾分拣方法,所述的基于深度强化学习的垃圾分拣方法,包括以下步骤:

定时获取图像数据,所述图像数据包含待分拣区域中待分拣垃圾的情况以及机械臂的状态;

根据所获取的图像数据,采用深度强化学习模型计算当前机械臂的最优行动,输出对应的控制指令发送至机械臂;

所述机械臂用于根据接收的控制指令动作,对待分拣垃圾进行抓取、移动和投放操作,完成垃圾分拣。

作为优选,所述深度强化学习模型的智能体为机械臂、摄像头和ai计算单元构成的整体,状态为待分拣区域中待分拣垃圾的情况以及机械臂的状态,动作空间为机械臂的控制指令的集合,奖励的设置为对正确的垃圾分拣动作给予正奖励,对错误的垃圾分拣动作给予负奖励,策略为状态到动作的映射,即摄像头获取的图像数据到机械臂的动作的映射;

所述深度强化学习模型中的值函数的构建过程,包括以下步骤:

令所述摄像头所捕捉到的图像的集合为状态集s,其中si为i时刻的图像,si∈s,令机械臂的控制指令的集合为指令集a,ai为i时刻的机械臂接收的控制指令,ai∈a,定义状态到动作的映射,即摄像头状态s下,选取机械臂控制指令a的策略π,a=π(s);定义奖励函数即状态s下采取动作a所获得的奖励为r,则定义所述深度强化学习模型中的值函数为:

其中,qπ(s,a)为状态s下采取动作a的q值,ri为i时刻智能体获得的奖励,γ为折扣因子,γ∈[0,1],γi为i时刻的折扣因子;

所述值函数的网络参数为θi时的损失函数公式定义为:

其中,q*(s,a)表示q值估计网络,e表示求取期望,li(θi)为值函数的网络参数为θi时的损失函数值,q(s,a;θi)为当前值函数,s′为下一个状态,a′为下一个状态的动作,v为值函数,q*(s′,a′)表示s′状态下采取a′动作的q值,y表示状态动作下的目标q值。

作为优选,所述深度强化学习模型的训练过程包括:

1)初始化经验回收区d,设置经验回收区d的容量为n;

2)初始化q值估计网络,随机生成权重θ,初始化q值现实网络,所述q值现实网络即为所述值函数,取权值θ′=θ;

3)初始化episode=1;

4)初始化初始状态为s1;

5)初始化t=1;

6)以∈概率选择一个随机的动作作为st,或者取动作st=maxq(s,a|θ);

7)执行动作at,获得奖励rt和新的状态st+1;

8)将(st,at,rt,st+1)存入经验回收区d中;

9)从经验回收区d中随机抽取一组(st,at,rt,st+1),计算损失函数以训练q值估计网络;

10)更新q值现实网络,取权值θ′=θ;

11)若t≤t,则重新执行步骤6),若1>t,则执行步骤12);

12)若episode≤m,则重新执行步骤4),若episode>m,则结束。

作为优选,所述深度强化学习模型首先采用软件仿真环境训练,并在软件仿真环境训练后采用无人监督的真实环境训练;

在所述无人监督的真实环境训练,对用于训练的垃圾样本贴上rfid标签,根据rfid标签判断对应垃圾样本是否被正确分类,将判断结果作为返回的奖励。

本申请提供的基于深度强化学习的垃圾分拣装置与方法,采用采用深度强化学习模型得到机械臂的最优行动,将待分拣区域中待分拣垃圾的情况以及机械臂的状态直接映射到机械臂的控制指令,不依赖于垃圾的定位识别,分类速度快,且分类准确率高。

附图说明

图1为本申请的基于深度强化学习的垃圾分拣装置的结构示意图;

图2为本申请的基于深度强化学习的垃圾分拣装置的使用流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。

如图1所示,其中一个实施例中,提供一种基于深度强化学习的垃圾分拣装置,本实施例的基于深度强化学习的垃圾分拣装置包括工作台,以及设置在所述工作台上的机械臂、ai计算单元和摄像头。

具体的,工作台上设有用于放置待分拣垃圾的待分拣区域。需要说明的是,待分拣区域可以是工作台本身,或者工作台本身内陷或凸起形成的区域,也可以是带有盛放功能的放置在工作台上的容器。

摄像头用于定时获取图像数据,并将所述图像数据发送至所述ai计算单元,所述图像数据包含待分拣区域中待分拣垃圾的情况以及机械臂的状态。为了降低成本,在一实施例中,摄像头可采用普通高清摄像头。

ai计算单元用于根据摄像头获取的图像数据,采用深度强化学习模型计算当前机械臂的最优行动,输出对应的控制指令发送至机械臂。ai计算单元承载基于图像输入实时运算并作出决策的功能,在计算能力满足功能需求的前提下,gpu、fpga或其他专用芯片均可适用。

机械臂用于根据所述ai计算单元输出的控制指令动作,对待分拣垃圾进行抓取、移动和投放操作,完成垃圾分拣。需要说明的是,机械臂投放的动作针对对应类别的投放区域执行,即机械臂抓取的垃圾将投放至对应类别的投放区域中,该投放区域可以是面向不同垃圾类别的垃圾桶,或者围绕隔离形成的不同空间区域。

为了便于机械臂的抓取,优选设置待分拣区域中的待分拣垃圾为平铺,并且形成待分拣区域的容器或者区域设置为一种固定的纯色,以便于ai计算单元将其作为背景进行训练与决策。

本实施例的垃圾分拣装置主要面向居民区终端(如小区楼下)垃圾分拣场景,因而机械臂选用小型轻量级设备,机械臂的夹具使用机械手,从而能够拾取各种形状的生活垃圾,并且机械臂承重满足拾取生活垃圾所需的重量。

强化学习(reinforcementlearning)是一种典型的机器学习框架,其中智能体(agent)学习在环境中执行动作以最大的奖励。强化学习中两个主要组件是代表要解决的问题的环境以及代表学习算法的智能体。智能体承载智能算法,根据环境状态作出动作选择,

在一实施例中,设置深度强化学习模型的结构如下:

所述深度强化学习模型的智能体为机械臂、摄像头和ai计算单元构成的整体,并且智能体承载的智能算法为ssdinception算法。

所述深度强化学习模型的状态为待分拣区域中待分拣垃圾的情况以及机械臂的状态。

所述深度强化学习模型的动作空间为机械臂的控制指令的集合。

所述深度强化学习模型的奖励的设置为对正确的垃圾分拣动作给予正奖励,对错误的垃圾分拣动作给予负奖励。

所述深度强化学习模型的策略为状态到动作的映射,即摄像头获取的图像数据到机械臂的动作的映射。

q-learning的核心是学习动作值函数,即q函数,其定义过程为:

令所述摄像头所捕捉到的图像的集合为状态集s,其中si为i时刻的图像,si∈s,令机械臂的控制指令的集合为指令集a,ai为i时刻的机械臂接收的控制指令,ai∈a,定义状态到动作的映射,即摄像头状态s下,选取机械臂控制指令a的策略π,a=π(s);定义奖励函数即状态s下采取动作a所获得的奖励为r,则定义所述深度强化学习模型中的值函数为:

其中,qπ(s,a)为状态s下采取动作a的q值,ri为i时刻智能体获得的奖励,γ为折扣因子,γ∈[0,1],γi为i时刻的折扣因子。

因为在垃圾分拣场景中,状态及转移关系极其复杂,q函数无法用一张收敛的q表列出,因而需要用函数进行近似,并用机器学习方法学习该函数参数。深度强化学习方法用深度神经网络近似q函数,该网络称作q-网络,令其权重向量为θ,训练q-网络的方法是在每个时间片i修正对应的θi,使得bellman等式的均方误差最小化。bellman等式与时间片i的损失函数li(θi),即值函数的网络参数为θi时的损失函数li(θi)公式定义为:

其中,q*(s,a)表示q值估计网络,e表示求取期望,li(θi)为值函数的网络参数为θi时的损失函数值,q(s,a;θi)为当前值函数,s′为下一个状态,a′为下一个状态的动作,v为值函数,q*(s′,a′)表示s′状态下采取a′动作的q值,y表示状态动作下的目标q值。

在将深度强化学习模型植入ai计算单元前,首先需要对深度强化学习模型进行训练,使其达到所要求的精度,训练过程即对应优化上述损失函数的流程,在一实施例中,深度强化学习模型的训练过程包括:

1)初始化经验回收区d,设置经验回收区d的容量为n;

2)初始化q值估计网络,随机生成权重θ,初始化q值现实网络(即值函数),取权值θ′=θ;

3)初始化episode=1;

4)初始化初始状态为s1;

5)初始化t=1;

6)以∈概率选择一个随机的动作作为st,或者取动作st=maxq(s,a|θ);

7)执行动作at,获得奖励rt和新的状态st+1;

8)将(st,at,rt,st+1)存入经验回收区d中;

9)从经验回收区d中随机抽取一组(st,at,rt,st+1),计算损失函数以训练q值估计网络;

10)更新q值现实网络,取权值θ′=θ;

11)若t≤t,则重新执行步骤6),若1>t,则执行步骤12);

12)若episode≤m,则重新执行步骤4),若episode>m,则结束。

训练过程需要模型给出的机械臂动作a能够影响环境,并从环境获得奖励r和新的状态st+1。在一实施例中,基于深度强化学习的垃圾分拣装置首先采用软件仿真环境训练,并在软件仿真环境训练后采用无人监督的真实环境训练。

软件仿真环境训练可以使机械臂动作快速收敛,从而加速训练,真实环境训练使模型能够被迁移到实物设备。并且在装置投入使用后,所述深度强化学习模型依然可以在有人监督的情况下进行训练以提升分类精度。

软件仿真环境下训练时,系统能够根据模型给出指令控制仿真机械臂的动作,移动并拾取垃圾,由于系统已知所有垃圾及垃圾桶的实时位置,从而能够判断垃圾是否被放入正确的垃圾桶内。当一个垃圾被放入正确的垃圾桶时,仿真环境返回正奖励值r1,若垃圾被投入错误垃圾桶,则返回负奖励r2,其余情况返回奖励0。r1,r2的取值可根据实际经验与算法训练阶段进行调整,例如训练刚开始时,希望机械臂能够尽快学习抓取垃圾并投入垃圾桶的动作,可令r1=1,r2=-1;当学习到一定阶段,希望装置能够提高分类精度时,可加大垃圾投入错误垃圾桶的惩罚,如设置r1=1,r2=-10。

在无人监督的真实环境下训练时,首先需要搭建一套真实设备,同时准备若干每一种类别的垃圾作为样本。机械臂控制的形式与仿真环境类似,由真实机械臂执行算法指令与环境进行交互。不同之处在于,在无人监督的真实环境情况下,垃圾是否被放入正确垃圾桶的信息无法直接获取。对此,可采用无线电射频识别(rfid)技术,对每一个垃圾样本贴上rfid标签,根据rfid标签判断对应垃圾样本是否被正确分类,将判断结果作为返回的奖励。这一信息与模型训练模块建立通信,就能够像仿真环境中一样为模型返回奖励,奖励设置方法与仿真环境相同。

此外,由于强化学习算法与交互学习的特性,即使在本实施例的垃圾分拣装置投入实际使用后,依然可以实现在人为监督的条件下进行学习与进化,以提升分类精度。在装置进行垃圾分拣的过程中,人类监督者可以对装置的行为给出奖励,奖励机制与其他训练方式相同。奖励数值通过ai计算单元的通信接口传递给模型,从而让模型能够进一步学习以优化模型参数,提高操作正确率。

如图2所示,本实施例的垃圾分拣装置规模较小,组装方便,成本可控,便于搬运、使用以及推广,因而适用于小区级的垃圾分类场景。同样的垃圾分类任务,如果通过人工完成,需要在丢弃垃圾前将不同类别的垃圾分别放入不同垃圾袋中,再丢入小区内的分类垃圾桶内。如果执行这一步的居民对垃圾分类知识不足,将部分垃圾错误分类,则需要在垃圾桶处有专人进行二次分拣,效率低下且耗费额外人力成本。

本实施例的垃圾分拣装置可代替人工垃圾分类,居民无需自行对垃圾分类,只需将未分类垃圾平铺于本装置台面的待分拣区域。此时,ai计算单元通过摄像头采集的图像数据自动判定启动算法运行,装置由待机状态进入分拣状态。在每一个执行时间片,ai计算单元都依据当前摄像头输入,计算能将预期收益最大化的机械臂控制动作,从而控制机械臂的行动。在一个执行时间片完成后,台面上垃圾与机械臂的状态发生了改变,算法进入下一个时间片,同样地,在新的时间片,算法根据状态变化后的摄像头输入计算控制动作。如此反复迭代,直到所有垃圾全部被放入对应垃圾桶内,装置再次进入待机状态,等待下一个分拣任务。

当垃圾分拣装置正常运作时,整个过程完全由装置自主完成,不需要人为干预。如果出现异常情况,如垃圾中出现机械臂无法抓取的物体,则需要人工处理对应异常,并将装置重置于待机状态。

在另一实施例中,还提供一种基于深度强化学习的垃圾分拣方法,所述的基于深度强化学习的垃圾分拣方法,包括以下步骤:

定时获取图像数据,所述图像数据包含待分拣区域中待分拣垃圾的情况以及机械臂的状态;

根据所获取的图像数据,采用深度强化学习模型计算当前机械臂的最优行动,输出对应的控制指令发送至机械臂;

所述机械臂用于根据接收的控制指令动作,对待分拣垃圾进行抓取、移动和投放操作,完成垃圾分拣。

具体地,所述深度强化学习模型的智能体为机械臂、摄像头和ai计算单元构成的整体,状态为待分拣区域中待分拣垃圾的情况以及机械臂的状态,动作空间为机械臂的控制指令的集合,奖励的设置为对正确的垃圾分拣动作给予正奖励,对错误的垃圾分拣动作给予负奖励,策略为状态到动作的映射,即摄像头获取的图像数据到机械臂的动作的映射。

所述深度强化学习模型中的值函数的构建过程,包括以下步骤:

令所述摄像头所捕捉到的图像的集合为状态集s,其中si为i时刻的图像,si∈s,令机械臂的控制指令的集合为指令集a,ai为i时刻的机械臂接收的控制指令,ai∈a,定义状态到动作的映射,即摄像头状态s下,选取机械臂控制指令a的策略π,a=π(s);定义奖励函数即状态s下采取动作a所获得的奖励为r,则定义所述深度强化学习模型中的值函数为:

其中,qπ(s,a)为状态s下采取动作a的q值,ri为i时刻智能体获得的奖励,γ为折扣因子,γ∈[0,1],γi为i时刻的折扣因子。

所述值函数的网络参数为θi时的损失函数公式定义为:

其中,q*(s,a)表示q值估计网络,e表示求取期望,li(θi)为值函数的网络参数为θi时的损失函数值,q(s,a;θi)为当前值函数,s′为下一个状态,a′为下一个状态的动作,v为值函数,q*(s′,a′)表示s′状态下采取a′动作的q值,y表示状态动作下的目标q值。

具体地,所述深度强化学习模型的训练过程包括:

1)初始化经验回收区d,设置经验回收区d的容量为n;

2)初始化q值估计网络,随机生成权重θ,初始化q值现实网络,q值现实网络即为值函数,取权值θ′=θ;

3)初始化episode=1;

4)初始化初始状态为s1;

5)初始化t=1;

6)以∈概率选择一个随机的动作作为st,或者取动作st=maxq(s,a|θ);

7)执行动作at,获得奖励rt和新的状态st+1;

8)将(st,at,rt,st+1)存入经验回收区d中;

9)从经验回收区d中随机抽取一组(st,at,rt,st+1),计算损失函数以训练q值估计网络;

10)更新q值现实网络,取权值θ′=θ;

11)若t≤t,则重新执行步骤6),若1>t,则执行步骤12);

12)若episode≤m,则重新执行步骤4),若episode>m,则结束。

具体地,所述深度强化学习模型首先采用软件仿真环境训练,并在软件仿真环境训练后采用无人监督的真实环境训练;

在所述无人监督的真实环境训练,对用于训练的垃圾样本贴上rfid标签,根据rfid标签判断对应垃圾样本是否被正确分类,将判断结果作为返回的奖励。

关于基于深度强化学习的垃圾分拣方法的进一步限定可参见上述对于基于深度强化学习的垃圾分拣装置的限定,在此不再进行赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1