一种基于联合学习的家庭日常工具功用性部件检测算法
2019-06-11吴培良隰晓珺杨霄孔令富侯增广
吴培良 隰晓珺 杨霄 孔令富 侯增广
纵观人类文明史,社会每一次进步几乎都与使用工具息息相关;在人的成长过程中,学习使用工具也是其必备的能力之一.在机器智能研究领域,机器人的发展始终都在学习人类智能和技能,目前机器人可在一定程度上模拟人类的感知能力[1],而借鉴人类认知方式,使机器人具备工具及其组成部件的功能用途(功用性,Affordance)认知能力,对机器人从感知到认知的主动智能提升具有重要意义[2].
目前,机器人主要通过读取语义标签方式被动获取物品功用性等语义,基于学习的功用性主动认知方法研究刚刚出现.特别是近年来随着RGB-D传感器(如Kinect)的出现,3D数据的获取更加方便快捷,极大地推动了功用性检测领域的研究.Lenz等学习工具中可供机器人抓取的部位[3],Kjellstrom等通过学习人手操作来分类所用工具[4],Grabner等通过3D数据检测出可供坐的曲面[5],文献[6]将工具功用性看做相互关联的整体,通过马尔科夫随机场建模工具与人的操作,文献[7]运用结构随机森林(Structured random forest,SRF)和超像素分层匹配追踪(SHMP)方法检测家庭常见工具的7种功用性部件(grasp、cut、scoop、contain、pound、support和wrap-grasp),上述方法均提取彩色图像或深度图像中的特征加以建模,但没有考虑图像块间的空间上下文信息.文献[8]考虑部件间的空间结构,针对目标轮廓进行几何特征稀疏表示与分级检测.Redmon等提出采用卷积神经网络(Convolutional neural network,CNN)识别工具[9],文献[10]研究多模特征深度学习与融合方法,以实现最优抓取判别,Myers通过双流卷积神经网络(Two-stream CNN),将几何特征与材质信息相结合用于功用性检测[11],Nguyen等以端到端的方式利用深度特征训练CNN,并通过CNN中的编解码装置保证标签平滑性[12].但上述深度学习方法均需较高的硬件配置(GPU环境).文献[13]仅利用结构随机森林(SRF)训练功用性部件检测模型,基本实现了无GPU配置下的实时检测.Thogersen等通过联合随机森林与条件随机场(Conditional random field,CRF)实现室内各功能区的分割[14],其中CRF的引入有效地整合了空间上下文以描述区域关联性,但文献[14]缺少对特征有效性的判别而文献[13]仅依靠经验选取关键特征,两者均可通过采用更加通用的特征编码方法来提升信息的有效性.
稀疏编码已成功应用于图像表示和模式识别等诸多领域,通过将普通稠密特征转化为稀疏表达形式从而使学习任务得到简化,使模型复杂度得到降低[15].显著性计算领域的研究结果表明,对CRF和稀疏编码的联合学习比两种方法顺序处理性能更好[16].借鉴该理论,本文针对功用性检测问题,整合CRF刻画空间上下文能力和稀疏编码特征约简的优点,综合考虑两者间的耦合关系,设计其联合条件概率表示与解耦策略,继而给出了基于联合学习的算法实现.
1 问题描述与分析
本文研究深度图像中工具部件功用性检测问题,即给定一幅深度图像,试图得知其中是否存在某类待检测功用性部件.针对此问题,提出了功用性部件字典的概念,并将稀疏编码用于工具部件功用性特征表示.此外,显著性计算和目标跟踪等研究均表明,如果一个局部块表现了很强的目标特性,那么其附近的块也可能含有相似的性能[16−17],遵循这一法则,针对该功用性字典在描述空间上下文方面的不足,引入条件随机场(CRF)来表征这种空间临域关系,从而构建出一个自上而下的基于图像块稀疏编码的CRF模型.但分析可知,在该模型中CRF构建和稀疏编码是互相耦合的两个子问题:一方面,CRF中节点存储图像块的特征稀疏向量,CRF权重向量的优化将导致特征字典的更新;另一方面,各图像块的特征稀疏向量则被用于计算和优化CRF的权重向量.
综合上述分析,针对不同功用性部件分别训练模型,将该部件功用性区域视为目标区域,其他区域视为背景区域,深度结合CRF与稀疏编码,将稀疏向量作为潜变量构建CRF,与此同时,通过CRF的调制更新字典.
2 公式化表示
本文针对深度图像展开功用性部件特征提取,并针对不同功用性部件分别设置与深度图同尺度的二值标签文件.深度图中,假设某局部图像块特征向量x∈Rp,p为特征维度,若在该图像块中存在某功用性部件,则令该部件二值标签文件中对应位置处的标签y=1;否则,令y=−1[18].则可从图像不同位置采样m个图像块构建特征集X={x1,x2,···,xm}作为观测值,对应标签集合Y={y1,y2,···,ym}记录目标存在与否.构建字典D∈Rp×k用于存储从训练样本学习得到的最具判别性的k个深度特征单词{d1,d2,···,dk},并引入潜变量si∈Rk作为图像块特征xi的稀疏表示,即有xi=Dsi.此稀疏表示可进一步公式化为如下最优化问题:
其中,λ为控制稀疏性的参数.令S(X,D)=[s(x1,D),···,s(xm,D)]表示所有块的潜变量,可知S(X,D)为关于字典D的函数,且同时包含了字典和图像块特征集信息.
考虑到采样块空间连接特性,本文创建四连接图G=hv,εi,其中v表示节点集合,ε表示边集合,鉴于v中节点只与其周围四邻接节点存在条件概率关系,而与其他节点无关.本文以S(X,D)作为节点信息,则可知在S(X,D)条件下,图G具有Markov性[16],即可用如下的条件概率作为CRF公式:
其中,Z为配分函数,E(S(X,D),Y,w)为能量函数,其可分解为节点能量项与边能量项[19−20].对于每一个节点i∈v,该节点能量由稀疏编码的总贡献计算得到,即,其中w1∈Rk是权重向量.对于每一条边(i,j)∈ε,若只考虑数据间的平滑性,则有ψ(yi,yj,w2)=w2⊕(yi,yj),其中w2表示标签平滑性的权重,⊕表示异或运算.
因此,随机能量场可详写为:
其中,w=[w1;w2].
由前面式(2)可知,学习CRF权重w与字典D为两个相互耦合的子问题.给出CRF权重w,式(2)的模型可以看作是CRF监督下的字典学习;给出字典D,则可看作是基于稀疏编码的CRF调制.在此模型中,通过求解下面的边缘概率来计算节点i∈v的目标概率[21]:
其中,N(i)表示图像上结点i的邻居节点.若定义图像块i中目标存在的概率为:
则最终图像中存在某种功用性部件的概率图为:
3 模型优化与解耦求解
假设由N幅深度图构成的训练样本集为, 其对应标签为ψ=,本文旨在学习CRF参数和字典来获得训练样本的最大联合似然估计:
其中,Ω为满足如下约束的字典集合:
3.1 模型优化
对于上节式(7),考虑到从有限的训练样本学习大量参数较为困难,参考Max-margin CRF学习方法[22],我们将似然最大化转化为不等式约束优化问题以追求最优的w和D,则对于所有YY(n),n=1,2,···,N,有:
在此约束优化的条件下可将两边的配分函数Z去掉,表示为能量项的形式:
若试图使实际的能量ESX(n),D,Y(n),w比任意E¡S¡X(n),D¢,Y,w¢都小[23],则可令:
因此,对式(7)中权值w和字典D的学习可通过最小化如下目标损失函数来实现:
3.2 CRF权重求解
本文采用Adam 算法[24]来优化式(13)中的目标损失函数,从中解耦出CRF并计算其权重.当潜变量S(X,D)己知时,式 (3)中能量函数E(Y,S(X,D),w)对权值w是线性的,则可进一步表示为:
对式(15)采用Adam算法加以求解.若第t次迭代的梯度值记为g(n)(w(t−1)),有偏的第一时刻向量记为m(t),有偏的第二时刻向量记为v(t),则有:
式中,β1,β2分别为某接近1的固定参数.对上式进行偏差校正,令
则在第t次迭代后的CRF权重更新公式如下:
式中,α为固定参数,其与联合构成可自适应动态调整的学习率函数.
3.3 字典求解
对于字典D,本文使用链式法则[25]来计算ln对D的微分:
建立式(1)的不动点方程:
其中 sgn(s)以逐点的方式表示s的符号,且sgn(0)=0.式(20)两端分别对D求导得:
其中,Λ表示s的非零编码索引集,表示零编码索引集.为每个s引入一个辅助变量z来简化式(19):
此处,同样采用Adam算法进行字典的求解,求解过程与上节相同.
4 算法实现
4.1 几何特征表示与提取
本文所用特征有高斯曲率(Gaussian curvatures)、方向梯度直方图(Oriented gradient histograms)、梯度幅值(Gradient magnitude)、平均曲率(Mean curvatures)、形状指数(Shape index)、曲度(Curvedness)和表面法向量(Surface normals)[7].其中方向梯度直方图为4维特征向量,表面法向量为3维特征向量,其他特征均为1维向量.将这些特征进行归一化后组合,得到表征某图像块的工具功用性部件的12维特征向量.上述特征均在家庭日常工具1/4下采样的深度图上计算得到,并经由稀疏编码后作为表征某工具功用性部件的特征向量.
此外,考虑到方向梯度直方图、梯度幅值、平均曲率、形状指数和曲度在功用性部件边缘快速检测时的重要作用,借鉴文献[13]中的功用性部件边缘表示方法,并将这些特征用结构随机森林(SRF)进行组织和功用性部件边缘建模,受篇幅所限,具体算法不再赘述.
4.2 基于联合学习的模型构建算法
在对CRF和稀疏编码耦合分析与求解基础上,采用联合学习的方法分别对每类功用性部件构建模型,该模型包括了最宜于表征该功用性部件的字典原子及CRF权重向量.下面给出模型构建的完整算法.
算法1. 基于联合学习的模型构建算法
输入.χ(训练图像集),ψ(真实标签集),D(0)(初始字典);
w(0)(初始CRF权重),λ(在式(1)中),T(循环次数);
γ(在式(13)中)
输出.
1 fort=1,···,Tdo
2 /*依次训练样本集合(χ,ψ)*/
3 forn=1,···,Ndo/*N为χ中深度图像的数量*/
4 通过式(1)评估潜变量s(xi,D),∀i∈V;
6 采用Adam算法通过式(18)更新CRF权重w(t);
7 为s(xi,D)找到有效集Λi,∀i∈V;
8 通过式(22)计算辅助变量zi;
9 采用Adam算法更新字典D(t);
10 通过式(8)在Ω上对D(t)进行正则化;
11 end for
12 end for
4.3 功用性部件在线检测
通过前面的离线建模阶段,得到了最具判别性的特征字典和CRF权重向量.在线检测过程中,利用工具部件功用性边缘检测器计算功用性的外接矩形区域,在此区域内以特征稀疏表示作为图像节点信息,在联合CRF图模型与稀疏编码的基础上利用置信度传播算法完成图像的语义分割,至此得到每个图像块属于目标的概率,进而产生目标功用性概率图U={u1,u2,···,um},其中,概率大于某一阈值的区域即为目标区域,反之则为背景区域.
5 实验及结果分析
5.1 实验数据集
为验证本文理论推导和算法实现的正确性,使用文献 [7]中的数据集检测并分类其中的家庭工具功用性部件,该数据集中包括厨房、园艺和工作间共17类105种家庭日常工具的 RGB-D 信息,涵盖了 grasp、wrapgrasp、cut、scoop、contain、pound、support 共7种功用性.图1给出了数据集内的部分工具示例,图2给出了示例工具所具有的功用性部件,可以直观看出,每类工具都可视为若干功用性部件的集合,而同一功用性部件则可能出现在不同工具中.
图1 RGB-D数据集中部分工具Fig.1 Tools in RGB-D data set
图2 工具目标部件功用性区域Fig.2 Target affordance parts in tools
针对某种功用性部件,在数据集中选取包含该功用性部件的各类工具的不同角度Depth图像以及已标记该功用性部件的二值标签文件作为训练样本.从功用性角度出发,图3直观地给出了包含功用性部件“盛(Contain)”的工具及其对应的二值标签.
图3 包含功用性部件“盛(Contain)”的工具及其对应的二值标签Fig.3 Tools containing affordance of“contain” and the corresponding labels in binaryzation
5.2 实验条件与配置
将深度图像1/4下采样后作为训练样本,其中每个像素视为一个图像块.训练过程中,收集所有块的几何特征,并使用K-means算法初始化字典D(0).基于字典计算特征稀疏表示,并将其作为潜变量与对应标签进行训练得到一个线性SVM(Support vector machine),利用此SVM初始化CRF结点能量权重,并将边能量权重设置为1.所有模型训练3个周期,训练得到表征该功用性部件的字典与CRF权重向量.基于该模型进行功用性部件检测和定位,产生目标功用性存在的概率图,将概率值大于等于0.5的图像块认定为目标块,将概率值小于0.5的块认定为背景块.本文算法运行于Windows 7操作系统,双核3.20GHz CPU,内存为8GB.
5.3 实验结果及分析
本文依次构建上文提到的4种功用性contain、scoop、support与wrap-grasp的部件检测模型.仅使用文献[15]的稀疏编码并分别采用SIFT(Scale invariant feature transform)特征和深度特征得到的检测结果如图4(c)和图4(d)所示,使用文献[16]的联合学习方法并分别采用SIFT特征和深度特征得到的检测结果如图4(e)和图4(f)所示,采用深度特征并使用文献[7]方法和文献[13]方法得到的检测结果如图4(g)和图4(h)所示,使用本文方法的检测结果如图4(i)所示.通过对比可以直观看出,相较于SIFT特征,深度特征能够更加有效地表征工具的功用性部件,且相较于仅采用稀疏编码方法、SRF方法以及传统的CRF与稀疏编码结合的方法,本文通过对多类深度特征进行稀疏编码,同时采用CRF表征特征空间关系,使得检测效果获得了不同程度的提升.
为了进一步定量评定本文方法的性能,图5给出了采用不同特征及不同方法所得到的精度召回率曲线.可以看出,采用SIFT特征表征功用性部件时,其精度和召回率普遍低于采用深度特征表征功用性部件.本文算法采用深度特征及性能更优的Adam优化算法,对4种功用性部件的检测效果普遍都较好,总体性能优于现有方法.
为了评判不同算法的效率,表1给出了本文方法与其他已有方法的用时对比.实验过程中,文献[7]方法需先将深度数据做较为费时的平滑预处理,再提取深度特征并交由训练好的SRF模型进行功用性判别;文献[13]中采用功用性部件边缘检测器快速定位目标区域,有效提升了检测效率;文献[15−16]方法本用于处理SIFT特征和显著性检测,但针对功用性部件建模深度特征较SIFT特征更具优势,在Depth图像中多类深度特征的提取速度稍慢于在RGB图像中SIFT特征.本文从Depth图像中提取多类深度特征,采用功用性部件边缘检测器快速定位目标区域,加之采用能够快速收敛的Adam算法,因此取得了较为理想的检测效率.
图4 本文方法与其他方法的检测结果对比图((a)为单一场景下的待检测工具图,由上到下分别为碗(bowl)、杯子(cup)、勺子(ladle)、铲子(turner);(b)为待检测目标功用性部件的真实值图,由上到下分别为盛(contain)、握抓(wrap-grasp)、舀(scoop)、支撑(support);(c)SIFT+文献[15]方法检测结果;(d)深度特征+文献[15]方法检测结果;(e)SIFT+文献[16]方法检测结果;(f)深度特征+文献[16]方法检测结果;(g)深度特征+文献[7]方法检测结果;(h)深度特征+文献[13]方法检测结果;(i)本文方法检测结果)Fig.4 Comparison of detection results between our method and others((a)Tools in a single scene,from the top to the bottom:bowl,cup,ladle and turner;(b)Ground truth of object affordances,from the top to the bottom:contain、wrap-grasp、scoop、support;(c)Detection result with SIFT+Paper[15];(d)Detection result with Depth+Paper[15];(e)Detection result with SIFT+Paper[16];(f)Detection result with Depth+Paper[16];(g)Detection result with Depth+Paper[7];(h)Detection result with Depth+Paper[13];(i)Detection result with our method)
表1 本文方法与其他方法的效率对比(秒)Table 1 Comparison of efficiency between our method and others(s)
此外,需要说明的是,深度学习方法已被用于功用性部件的学习和检测,并取得了与本文相当的识别准确率,但该类方法的运行均需GPU支持,如文献[9]的CNN方法运行于NVIDIA Tesla K20 GPU环境下,文献[12]的CNN方法运行于NVIDIA Titan X GPU环境下,两者的识别速度均达到毫秒级,但在普通配置的CPU上无法运行.文献[3]的SAE(Sparse auto-encoder)方法虽可运行于CPU环境,但算法运行耗时较长(如功用性部件grasp的检测用时约几十分钟),无法满足服务机器人任务的实时性要求.
6 结论
机器人与人的共融,将成为下一代机器人的本质特征.事实上,功用性语义频繁出现在人们的日常思维和交互中,功用性认知也已成为了人机和谐共融的必然要求.本文利用工具的多类深度特征,结合稀疏编码与CRF优势训练家庭日常工具功用性部件的检测模型,通过与利用SIFT特征表示图像信息和传统联合CRF与稀疏编码训练模型的算法进行比较,由精度召回率曲线可知本文模型对工具部件的目标功用性检测效果良好,为机器人工具功能认知及后续人机共融和自然交互奠定基础.
图5 本文方法与其他方法的精度召回率曲线对比Fig.5 Comparison of precision recall curves between our method and others