一种基于深度强化学习的物体检测方法转让专利

申请号 : CN201810257372.0

文献号 : CN108550162B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘华平韩小宁孙富春

申请人 : 清华大学

摘要 :

本发明提出一种基于深度强化学习的物体检测方法,属于模式识别技术领域及主动物体检测技术领域。该方法首先建立深度强化学习神经网络;通过对机器人进行多次物体检测实验,获取训练数据对神经网络进行训练,得到训练完毕的神经网络。在使用阶段,机器人获取当前时刻的图像及图像中待检测物体的包络框输入训练完毕的神经网络,网络输出机器人下一时刻执行的动作,机器人执行动作后得到新的当前时刻的包络框并利用识别函数进行判定:若包络框中待检测物体识别可信度高于设定的识别阈值,则物体检测成功。本发明利用强化学习技术对机器人的动作进行控制,利用机器人视角的变化来获得更好的观测图像,从而获得更好的物体检测结果。

权利要求 :

1.一种基于深度强化学习的物体检测方法,其特征在于,该方法包括以下步骤:

1)构建一个深度强化学习神经网络Q,包括:图像特征提取网络、图像特征降维网络、图像特征尺寸调整层、包络框元素拓展网络和动作价值估计网络五个部分;所述图像特征提取网络连接图像特征降维网络,图像特征降维网络连接图像特征尺寸调整层,图像特征尺寸调整层与包络框元素拓展网络分别连接动作价值估计网络;上述各部分网络结构及功能说明如下:所述图像特征提取网络,由Resnet-18神经网络的前9层组成;记t时刻采集的RGB图像为It,利用图像缩放技术,将图像尺寸调整为3×216×384,其中,3为RGB色彩通道,216为高度,384为宽度,输入至图像特征提取网络,图像特征提取网络输出为t时刻图像对应的卷积特征 大小为128×25×48的矩阵;

所述图像特征降维网络,由2个降维模块组成,每个降维模块包含一层卷积神经层和一层池化神经层,图像特征降维网络的输入为t时刻图像的卷积特征 经过两个降维模块的降维,图像特征降维网络的输出为t时刻图像降维后的图像卷积特征 大小为128×7×12的矩阵;

所述图像尺寸调整层,输入为t时刻图像降维后的图像卷积特征 通过调整特征尺寸,将降维后的图像卷积特征 调整为10752维向量所述包络框元素拓展网络,由多于1层的全连接层组成,包络框元素拓展网络的输入为图像It中待检测物体的包络框bt,输出为拓展后的t时刻图像包络框特征向量所述待检测物体的包络框,包含四个元素,令t时刻图像中待检测物体的包络框为bt={xt,yt,wt,ht},其中xt,yt为t时刻待检测物体包络框的中心点的横、纵坐标,wt,ht为t时刻包络框的宽度和高度;

所述动作价值估计网络,由多于1层的全连接层组成,动作价值估计网络的输入为降维后的t时刻图像卷积特征 与t时刻图像包络框特征向量 拼接得到的t时刻机器人状态向量 输出为t时刻机器人每个动作价值的估计值,每个输出单元对应一种机器人动作种类;

2)对步骤1)构建的深度强化学习神经网络Q进行训练,得到训练完毕的深度强化学习神经网络Q*;具体步骤如下:

2-1)随机初始化神经网络Q的参数θ,将步骤1)建立的神经网络Q记为当前神经网络,令初始训练次数c=0,设置存储库M容量D=1024,取样数量B=128;

2-2)在进入训练状态前,机器人在环境中以任意动作进行运动,机器人所搭载的相机以工作频率对周围环境采集图像,使用获取候选区域方法对采集图像进行处理,在每张图像中获取若干个候选区域,利用选定的识别函数fc来进行识别每个候选区域,将低于识别阈值ψ且最接近识别阈值的一个候选区域作为待检测物体的包络框;在机器人之后的运动中所采集每张图像的包络框通过跟踪方法从连续拍摄的图像的上一帧映射到当前帧,从而得到当前帧的包络框;机器人进入训练状态,进入步骤2-3);

2-3)记当前时刻为t,机器人当前时刻的状态st由当前时刻采集的图像It及该图像中待检测物体包络框bt表示,即st={It,bt},机器人选取该时刻对应动作at,动作选取准则如下:在[0,1]范围内产生一随机数α并进行判定:若α小于动作选取阈值ε,则机器人在设定的机器人动作集合A中随机选取一动作执行;否则,将机器人当前时刻状态输入到当前神经网络中,网络输出机器人动作集合A中机器人每个动作a对应的价值估计Q(st,at;θ),机器人选择其中价值最大的动作执行,表达式如下:所述动作选取阈值ε随训练次数c增加而减小,表达式如下:

其中,εstart取值范围为0.8~1.0,εend取值范围0.001-0.1,εdecay取值范围10~1000;

2-4)机器人在t时刻执行动作at,机器人状态从st迁移到下一状态st+1,st+1包括t+1时刻机器人采集的图像It+1和待检测物体的包络框bt+1;

2-5)利用识别函数fc对st+1进行识别:

若t+1时刻采集的图像It+1中待检测物体的包络框bt+1中待检测物体的识别可信度高于识别阈值ψ,即fc(st+1)>ψ,则物体成功检测,返回t时刻状态动作奖励rt=1,选择at+1=NULL,然后进入步骤2-6);否则,物体未成功检测,返回t时刻状态动作奖劢rt=0,根据式(1)机器人选取t+1时刻对应动作at+1,然后进入步骤2-6);

2-6)将步骤2-3)至步骤2-5)中得到的一条状态动作记录{st,at,rt,st+1,at+1}放入存储库M中,进入步骤2-7);

2-7)对M的记录数进行判定:若M中的记录数量小于取样数量B,则进入步骤2-8);若M中的记录数量大于等于取样数量B,则进入步骤2-9),对当前神经网络进行训练;若M中的记录数到达容量上限D时,则新增加的一条记录覆盖M中最早的一条记录,然后进入步骤2-9);

2-8)对at+1的值进行判定:若at+1=NULL,当前时刻物体已被成功检测,则重新返回步骤

2-2),机器人以任意动作进行运动,直到重新进入训练状态;否则,当前时刻物体尚未被成功检测,则重新返回步骤2-3);

2-9)对当前神经网络进行训练;具体步骤如下:

2-9-1)从存储库M中随机选取B条记录作为当前批次训练样本,c=c+1;

2-9-2)处理当前批次训练样本中每条记录,根据Bellman方程计算第i条的训练目标值进入步骤2-9-3);

2-9-3)利用步骤2-9-2)中得到每条记录的训练目标值定义当前神经网络的误差,作为当前神经网络的优化目标J:

2-9-4)利用2-9-3)中得到的优化目标值J,使用梯度下降法更新神经网络的权值,得到新的当前神经网络:

2-9-5)对J进行判定:当均值平滑处理的J在0.02附近,波动范围0.01~0.03之间时,神经网络训练结束,得到训练完成的神经网络Q*;否则重新返回步骤2-8),对M中最新一条记录中的at+1进行判定;

3)利用步骤2)训练完毕的深度强化学习神经网络Q*进行物体检测;具体步骤如下:

3-1)令当前时刻为t,机器人以任意动作进行运动,机器人获取当前时刻状态s't,包括当前时刻采集的图像I't和待检测物体包络框b't;

3-2)将机器人当前时刻的状态s't输入到步骤2)训练得到的神经网络Q*中,网络输出下一时刻机器人的执行动作记为a't+1;

3-3)机器人执行动作a't+1,机器人状态从s't迁移到下一状态s't+1;

3-4)利用识别函数fc对状态s't+1进行识别:

若t+1时刻采集的场景图像I't+1中待检测物体的包络框b't+1中待检测物体识别可信度高于识别阈值ψ,即fc(st+1)>ψ,则物体成功检测,物体检测结束;否则,令t=t+1,重新返回步骤3-1)。

说明书 :

一种基于深度强化学习的物体检测方法

技术领域

[0001] 本发明提出一种基于深度强化学习的物体检测方法,属于模式识别技术领域及主动物体检测技术领域。

背景技术

[0002] 物体检测作为机器人学与计算机视觉系统的主要研究内容之一,广泛应用于视频监控、无人驾驶和多媒体处理中。当前的物体检测方法大多针对拍摄条件良好的静态图像,但在实际应用中,这样的图像往往难以得到,尤其是在机器人应用中,拍摄的图片中,往往出现遮挡、部分拍摄、尺度较小等缺陷。但在机器人应用中,拍摄视角可通过调整机器人的位姿来改变,以获得更加适合检测的图像,以实现机器人的主动物体检测。
[0003] 相关公开专利如107403426A——一种目标物体检测方法及设备。利用Double DQN算法产生不同的控制动作,从而控制物体检测框的在单幅图像中的位置及大小,最终获得包含目标物体在单幅图像中的准确定位。该已有技术是通过强化学习方法对单幅图像操作来获得更好的物体定位效果,但当对于机器人来说,单幅图像可能存在遮挡或部分拍摄等问题,已有方法无法有效解决该问题。
[0004] 强化学习,又称为增强学习,主要包括两类方法:基于值和基于概率的方法。基于值的方法是通过对已有经验的学习,优化对不同状态下动作价值的估计函数,从而获得最优动作控制策略,强化学习在大部分Atari(雅达利)游戏中已经超出了人类的表现;深度神经网络在计算机领域已经取得了显著的成果,尤其在计算机视觉领域,使用卷积神经网络能够有效地提取图像的卷积特征,并在非线性拟合,基于深度神经网络的方法在物体定位,物体识别,以及图像语义分割中均取得了十分优异的结果。

发明内容

[0005] 本发明的目的是为克服已有技术的不足之处,提出一种基于深度强化学习的物体检测方法,本发明利用强化学习技术对机器人的动作进行控制,利用机器人视角的变化来获得更好的观测图像,从而获得更好的物体检测结果。
[0006] 本发明提出一种基于深度强化学习的物体检测方法,其特征在于,该方法包括以下步骤:
[0007] 1)构建一个深度强化学习神经网络Q,包括:图像特征提取网络、图像特征降维网络、图像特征尺寸调整层、包络框元素拓展网络和动作价值估计网络五个部分;所述图像特征提取网络连接图像特征降维网络,图像特征降维网络连接图像特征尺寸调整层,图像特征尺寸调整层与包络框元素拓展网络分别连接动作价值估计网络;上述各部分网络结构及功能说明如下:
[0008] 所述图像特征提取网络,由Resnet-18神经网络的前9层组成;记t时刻采集的RGB图像为It,利用图像缩放技术,将图像尺寸调整为3×216×384,其中,3为RGB色彩通道,216为高度,384为宽度,输入至图像特征提取网络,图像特征提取网络输出为t时刻图像对应的卷积特征 大小为128×25×48的矩阵;
[0009] 所述图像特征降维网络,由2个降维模块组成,每个降维模块包含一层卷积神经层和一层池化神经层,图像特征降维网络的输入为步骤1-1)得到t时刻图像的卷积特征 经过两个降维模块的降维,图像特征降维网络的输出为t时刻图像降维后的图像卷积特征大小为128×7×12的矩阵;
[0010] 所述图像尺寸调整层,输入为步骤1-2)中得到的t时刻图像降维后的图像卷积特征 通过调整特征尺寸,将降维后的图像卷积特征 调整为10752维向量
[0011] 所述包络框元素拓展网络,由多于1层的全连接层组成,包络框元素拓展网络的输入为图像It中待检测物体的包络框bt,输出为拓展后的t时刻图像包络框特征向量[0012] 所述待检测物体的包络框,包含四个元素,令t时刻图像中待检测物体的包络框为bt={xt,yt,wt,ht},其中xt,yt为t时刻待检测物体包络框的中心点的横、纵坐标,wt,ht为t时刻包络框的宽度和高度;
[0013] 所述动作价值估计网络,由多于1层的全连接层组成,动作价值估计网络的输入为步骤1-3)中得到降维后的t时刻图像卷积特征 与步骤1-4)中得到的t时刻图像包络框特征向量 拼接得到的t时刻机器人状态向量 输出为t时刻机器人每个动作价值的估计值,每个输出单元对应一种机器人动作种类;
[0014] 2)对步骤1)构建的深度强化学习神经网络Q进行训练,得到训练完毕的深度强化学习神经网络Q*;具体步骤如下:
[0015] 2-1)随机初始化神经网络Q的参数θ,将步骤1)建立的神经网络Q记为当前神经网络,令初始训练次数c=0,设置存储库M容量D=1024,取样数量B=128;
[0016] 2-2)在进入训练状态前,机器人在环境中以任意动作进行运动,机器人所搭载的相机以工作频率对周围环境采集图像,使用获取候选区域方法对采集图像进行处理,在每张图像中获取若干个候选区域,利用选定的识别函数fc来进行识别每个候选区域,将低于识别阈值ψ且最接近识别阈值的一个候选区域作为待检测物体的包络框;在机器人之后的运动中所采集每张图像的包络框通过跟踪方法从连续拍摄的图像的上一帧映射到当前帧,从而得到当前帧的包络框;机器人进入训练状态,进入步骤2-3);
[0017] 2-3)记当前时刻为t,机器人当前时刻的状态st由当前时刻采集的图像It及该图像中待检测物体包络框bt表示,即st={It,bt},机器人选取该时刻对应动作at,动作选取准则如下:
[0018] 在[0,1]范围内产生一随机数α并进行判定:若α小于动作选取阈值ε,则机器人在设定的机器人动作集合A中随机选取一动作执行;否则,将机器人当前时刻状态输入到当前神经网络中,网络输出机器人动作集合A中机器人每个动作a对应的价值估计Q(st,at;θ),机器人选择其中价值最大的动作执行,表达式如下:
[0019]
[0020] 所述动作选取阈值ε随训练次数c增加而减小,表达式如下:
[0021]
[0022] 其中,εstart取值范围为0.8~1.0,εend取值范围0.001-0.1,εdecay取值范围10~1000;
[0023] 2-4)机器人在t时刻执行动作at,机器人状态从st迁移到下一状态st+1,st+1包括t+1时刻机器人采集的图像It+1和待检测物体的包络框bt+1;
[0024] 2-5)利用识别函数fc对st+1进行识别:
[0025] 若t+1时刻采集的图像It+1中待检测物体的包络框bt+1中待检测物体的识别可信度高于识别阈值ψ,即fc(st+1)>ψ,则物体成功检测,返回t时刻状态动作奖励rt=1,选择at+1=NULL,然后进入步骤2-6);否则,物体未成功检测,返回t时刻状态动作奖劢rt=0,根据式(1)机器人选取t+1时刻对应动作at+1,然后进入步骤2-6);
[0026] 2-6)将步骤2-3)至步骤2-5)中得到的一条状态动作记录{st,at,rt,st+1,at+1}放入存储库M中,进入步骤2-7);
[0027] 2-7)对M的记录数进行判定:若M中的记录数量小于取样数量B,则进入步骤2-8);若M中的记录数量大于等于取样数量B,则进入步骤2-9),对当前神经网络进行训练;若M中的记录数到达容量上限D时,则新增加的一条记录覆盖M中最早的一条记录,然后进入步骤
2-9);
[0028] 2-8)对at+1的值进行判定:若at+1=NULL,当前时刻物体已被成功检测,则重新返回步骤2-2),机器人以任意动作进行运动,直到重新进入训练状态;否则,当前时刻物体尚未被成功检测,则重新返回步骤2-3);
[0029] 2-9)对当前神经网络进行训练;具体步骤如下:
[0030] 2-9-1)从存储库M中随机选取B条记录作为当前批次训练样本,c=c+1;
[0031] 2-9-2)处理当前批次训练样本中每条记录,根据Bellman方程计算第i条的训练目标值
[0032]
[0033] 进入步骤2-9-3);
[0034] 2-9-3)利用步骤2-9-2)中得到每条记录的训练目标值定义当前神经网络的误差,作为当前神经网络的优化目标J:
[0035]
[0036] 2-9-4)利用2-9-3)中得到的优化目标值J,使用梯度下降法更新神经网络的权值,得到新的当前神经网络:
[0037]
[0038] 2-9-5)对J进行判定:当均值平滑处理的J在0.02附近,波动范围0.01~0.03之间时,神经网络训练结束,得到训练完成的神经网络Q*;否则重新返回步骤2-8),对M中最新一条记录中的at+1进行判定;
[0039] 3)利用步骤2)训练完毕的深度强化学习神经网络Q*进行物体检测;具体步骤如下:
[0040] 3-1)令当前时刻为t,机器人以任意动作进行运动,机器人获取当前时刻状态s't,包括当前时刻采集的图像I't和待检测物体包络框b't;
[0041] 3-2)将机器人当前时刻的状态s't输入到步骤2)训练得到的神经网络Q*中,网络输出下一时刻机器人的执行动作记为a't+1;
[0042] 3-3)机器人执行动作a't+1,机器人状态从s't迁移到下一状态s't+1;
[0043] 3-4)利用识别函数fc对状态s't+1进行识别:
[0044] 若t+1时刻采集的场景图像I't+1中待检测物体的包络框b't+1中待检测物体识别可信度高于识别阈值ψ,即fc(st+1)>ψ,则物体成功检测,物体检测结束;否则,令t=t+1,重新返回
[0045] 步骤3-1)。
[0046] 本发明的特点及有益效果在于:
[0047] 1.本发明利用深度强化学习来对机器人进行动作控制,通过改变机器人的位姿来调整拍摄视角,以获得更加适合物体检测的图像。
[0048] 2.本发明方法,在物体检测过程中,由机器人自行决定下一步的执行动作,不需要人为进行干预,极大地提高了机器人的自主性;
[0049] 3.本发明采用的深度卷积网络,将图像及物体包络框作为机器人状态表示,通过提取图像卷积特征,能够处理机器人状态连续的情形;
[0050] 4.本发明使用的强化学习方法,能够使得机器人通过积累的经验,不断进行学习,从而能够持续优化动作控制策略;
[0051] 5.本发明方法可根据实际应用的需要选择不同的识别函数,设计不同的网络结构,具有一定的通用性。

附图说明

[0052] 图1为本发明方法的整体流程图。
[0053] 图2为本发明方法的训练阶段流程图。
[0054] 图3为本发明方法的使用阶段流程图。
[0055] 图4为本发明方法的使用效果图。

具体实施方式

[0056] 本发明提出一种基于深度强化学习的物体检测方法,下面结合附图和具体实施例进一步详细说明如下。
[0057] 本发明提出一种基于深度强化学习的物体检测方法,适用于安装有任何型号RGB相机的任何通用型号移动机器人。本实施例使用安装有Kinect for Xbox相机的turtlebot机器人,此实施例仅用于说明本发明的使用方法,并不对本发明的权利要求构成约束。
[0058] 本发明提出一种基于深度强化学习的物体检测方法,整体流程如图1所示,包括以下步骤:
[0059] 1)构建一个深度强化学习神经网络Q,包括:图像特征提取网络、图像特征降维网络、图像特征尺寸调整层、包络框元素拓展网络和动作价值估计网络五个部分。所述图像特征提取网络连接图像特征降维网络,图像特征降维网络连接图像特征尺寸调整层;图像特征尺寸调整层与包络框元素拓展网络分别连接动作价值估计网络。上述各部分网络结构及功能说明如下:
[0060] 所述图像特征提取网络,由Resnet-18神经网络的前9层组成;记相机在t时刻采集的RGB图像为It,利用图像缩放技术,将图像尺寸调整为3×216×384(其中,3为RGB色彩通道,216为高度,384为宽度)输入至图像特征提取网络,图像特征提取网络输出为t时刻图像对应的卷积特征 大小为128×25×48的矩阵;
[0061] 所述图像特征降维网络,由2个降维模块组成,每个降维模块包含一层卷积神经层(接受域5×5,步长为1)和一层池化神经层(接受域2×2,步长为2),图像特征降维网络的输入为步骤1-1)得到t时刻图像的卷积特征 经过两个降维模块的降维,图像特征降维网络的输出为t时刻图像降维后的图像卷积特征 大小为128×7×12的矩阵;
[0062] 所述图像特征尺寸调整层,实际为一个矩阵尺寸调整函数,输入为步骤1-2)中得到的t时刻图像降维后的图像卷积特征 通过调整特征尺寸,将降维后的图像卷积特征调整为10752维向量
[0063] 所述包络框元素拓展网络,由多于1层的全连接层组成,包络框元素拓展网络的输入为图像It中待检测物体的包络框bt,输出为拓展后的t时刻图像包络框特征向量 本实施例中包络框元素拓展网络采用单层4×512全连接层,输出为拓展后的512维包络框特征向量
[0064] 所述待检测物体的包络框,包含四个元素,令t时刻图像中待检测物体的包络框为bt={xt,yt,wt,ht},其中xt,yt为t时刻待检测物体包络框的中心点的横、纵坐标,wt,ht为t时刻包络框的宽度和高度;待检测物体的包络框获取方式如下:在机器人进入训练状态前,机器人在环境中以任意动作进行运动,相机以工作频率(每秒30帧)对周围环境拍摄图像进行采样,使用获取候选区域(Region Proposal)方法对采集图像进行处理,在每张图像中获取多个候选区域(获取候选区域的数量和所采用的获取候选区域方法有关,每个方法所获取的数量均不同,本发明只选择包含物体可能性最大的一个区域作为包络框),利用选定的识别函数fc来进行识别每个候选区域,将低于识别阈值ψ且最接近识别阈值的一个候选区域作为1-4)中所述的待检测物体的包络框;在机器人之后的运动中所采集每张图像的包络框通过跟踪方法从连续拍摄的图像的上一帧映射到当前帧,从而得到当前帧的包络框;
[0065] 获取候选区域方法为当前物体检测中的现有方法,如Selective Search,Region Proposal Network,BING,RPG(Region Proposal Network)等方法,可根据实际应用进行选择;本实施例中选择BING作为候选区域方法;
[0066] 所述的识别函数为当前物体识别中的现有方法,如支持向量机(SupportVector Machine),AdaBoost及神经网络方法,可根据实际应用进行选择;本实施例选择VGG神经网络作为物体识别方法;
[0067] 所述识别阈值ψ根据实际任务所选择的识别方法fc来进行设置,兼顾识别方法的回召率及准确率;本实施例中识别阈值设定为0.5;
[0068] 所述动作价值估计网络,由多于1层的全连接层组成,动作价值估计网络的输入为步骤1-3)中得到降维后的t时刻图像卷积特征 与步骤1-4)中得到的t时刻图像包络框特征向量 拼接得到的机器人状态向量 输出为t时刻机器人每个动作价值的估计值,即每个输出单元对应一种机器人动作种类;所述的动作种类由所机器人运动学及实际应用要求人为确定;本实施例根据turtlebot机器人的运动学约束选择4种动作作为动作集合A,即A={前进30cm,后退30cm,顺时针旋转30°和逆时针旋转30°};本实施例所采用的动作价值网络部分由两层全连接层组成,第一层为11264×512全连接层,第二层为512×4全连接层;
[0069] 2)训练阶段;对步骤1)构建的深度强化学习神经网络Q进行训练,得到训练完毕的深度强化学习神经网络Q*;流程如图2所示,具体步骤如下:
[0070] 2-1)随机初始化神经网络Q的参数θ,将步骤1)建立的神经网络Q记为当前神经网络,令初始训练次数c=0,设置存储库M容量D=1024,取样数量B=128;
[0071] 2-2)在进入训练状态前,机器人在环境中以任意动作进行运动,机器人所搭载的相机以工作频率(本实施例为每秒30帧)对周围环境采集图像,使用获取候选区域(Region Proposal)方法对采集图像进行处理,在每张图像中获取多个候选区域,利用选定的识别函数fc来进行识别,选择低于识别阈值ψ且最接近识别阈值的候选区域作为待检测物体的包络框,机器人进入训练状态,进入步骤2-3);
[0072] 2-3)记当前时刻为t,机器人当前时刻状态st由当前时刻采集的图像It及该图像中待检测物体包络框bt表示,即st={It,bt},机器人选取该时刻对应动作at,动作选取准则如下:
[0073] 在[0,1]范围内产生一随机数α并进行判定:若α小于动作选取阈值ε,则机器人在设定的机器人动作集合A中随机选取一动作执行;否则,将机器人当前时刻状态输入到当前神经网络中,网络输出机器人动作集合A中机器人每个动作a对应的价值估计Q(st,a;θ),机器人选择其中价值最大的动作执行,表达式如下:
[0074]
[0075] 所述动作选取阈值ε在实验中随训练次数c增加而减小,表达式如下:
[0076]
[0077] 其中,εstart取值范围为0.8~1.0,εend取值范围0.001-0.1,εdecay取值范围10~1000;本实施例中,设定εstart=0.9,εend=0.05,εdecay=200;
[0078] 2-4)机器人在t时刻执行动作at,机器人状态从st迁移到下一状态st+1,st+1包括t+1时刻机器人采集的图像It+1和待检测物体的包络框bt+1
[0079] 2-5)利用识别函数fc对st+1进行识别:
[0080] 若t+1时刻采集的图像It+1中待检测物体的包络框bt+1中待检测物体的识别可信度高于识别阈值ψ,即fc(st+1)>ψ,则物体成功检测,返回t时刻状态动作奖励rt=1,选择at+1=NULL,然后进入步骤2-6);否则物体未成功检测,返回t时刻状态动作奖劢rt=0,根据式(1)机器人选取t+1时刻对应动作at+1,然后进入步骤2-6);
[0081] 2-6)将步骤2-3)至步骤2-5)中得到的一条状态动作记录{st,at,rt,st+1,at+1}放入存储库M中,进入步骤2-7);
[0082] 2-7)对M的记录数进行判定:若M中的记录数量小于取样数量B,则进入步骤2-8);若M中的记录数量大于等于取样数量B,则进入步骤2-9),对当前神经网络进行训练;当M中的记录数到达容量上限D时,则新增加的一条记录会自动覆盖M中最早的一条记录,然后进入步骤2-9);
[0083] 2-8)对at+1的值进行判定:若at+1=NULL,表明当前时刻物体已被成功检测,则重新返回步骤2-2),机器人以任意动作进行运动,直到重新进入训练状态;否则,表明当前时刻物体尚未被成功检测,则重新返回步骤2-3);
[0084] 2-9)对当前神经网络进行训练;具体步骤如下:
[0085] 2-9-1)从存储库M中随机选取B条记录作为当前批次训练样本,c=c+1;
[0086] 2-9-2)处理当前批次训练样本中每条记录,根据Bellman方程计算第i条记录的训练目标值yti:
[0087]
[0088] 进入步骤2-9-3);
[0089] 2-9-3)利用步骤2-9-2)中得到每条记录的训练目标值定义当前神经网络的误差,作为当前神经网络的优化目标J:
[0090]
[0091] 2-9-4)利用2-9-3)中得到的当前神经网络的优化目标值J,使用梯度下降法更新神经网络的权值,得到新的当前神经网络:
[0092]
[0093] 2-9-5)对J进行判定:若J趋向于某一较小值,且波动范围较小时,本实施例中,最终利用均值平滑处理的J在0.02附近,波动范围0.01~0.03之间,则神经网络训练结束,将当前神经网络作为训练完成的深度强化学习神经网络Q*;否则重新返回步骤2-8),对M中最新一条记录中的at+1进行判定;
[0094] 3)使用阶段;利用步骤2)训练完毕的深度强化学习神经网络Q*进行物体检测;流程如图3所示,具体步骤如下:
[0095] 3-1)令当前时刻为t,机器人以任意动作进行运动,机器人获取当前时刻状态s't,包括当前时刻采集的场景图像I't和待检测物体包络框b't;
[0096] 3-2)将机器人当前时刻的状态s't输入到步骤2)训练得到的神经网络Q*中,网络输出价值最大的动作作为下一时刻机器人的执行动作记为a't+1;
[0097] 3-3)机器人执行动作a't+1,机器人状态从s't迁移到下一状态s't+1;s't+1包括若t+1时刻采集的场景图像I't+1中待检测物体的包络框b't+1
[0098] 3-4)利用识别函数fc对状态s't+1进行识别:
[0099] 若t+1时刻采集的图像I't+1中待检测物体的包络框b't+1中待检测物体识别可信度高于识别阈值ψ,即fc(st+1)>ψ,则物体成功检测,物体检测结束;否则,令t=t+1,重新返回步骤3-1)。
[0100] 本发明提出的基于深度强化学习的主动物体检测方法实际执行效果如图4所示,机器人t时刻状态s't下,如图4(a),采集的图像中包含感兴趣的物体(图像中用五角星来表示),但由于视角原因,仅能对该物体的部分进行观测;机器人采用本发明所提出的方法,逐步选取动作并执行:逆时针旋转30°,转移到状态s't+1,如图4(b);向左移动30cm,转移到状态s't+2,如图4(c);向前移动30cm,转移到状态s't+3,如图4(d);通过以上三步动作,机器人逐渐调整视角,最终获得更加理想的检测结果。