联想是人类认知的重要策略.在日常生活中,当我们看到一个物品时,与之相关的知识会浮现在脑海中.在这种思想的引导下, 同时模拟知识在人类思维中的一种表征方式-语义网络模型[1], 本文提出使用本体建模及规则推理等语义技术构建基于属性的家庭物品语义知识库, 对物品的视觉属性、类别属性、物理属性、功能属性、操作属性及它们之间的关系进行本体建模, 通过使用一个网状的层次结构将这些资源进行统一表示.
视觉属性可以增强物品的描述性[2];在人类发布的自然语言指令中, 通常使用物品名称与视觉属性相结合的方式描述所需物品[3];视觉属性是其他属性的获取条件[4];视觉属性可以作为共享层实现对0训练样本物品的识别[5], 提高细粒度物品类的识别率[6];功能属性描述了人类可对物品施加的行为和动作[4].通过使用物品功能属性,可以辅助物品识别[7-8]、行为理解[9-10]、指导机器人操作物品[11].此外, 机器人在操作物品时, 需要物品的尺寸、重量, 操作序列、抓取点、操作轨迹等知识, 本文将这些知识归类于物理属性和操作属性.
网络本体语言(web ontology language, OWL)最初是为了在语义网中表示知识而开发的, 后来发展成机器人领域一种常用的知识表示形式.Tenorth等[12]定义包含物品感知特征(颜色、纹理、SIFT)、名称与功能、功能部件及物品-物品关系在内的物品知识, 将物品知识用于机器人物品识别、语义地图组件中.Basile等[13]描述的物品知识包括物品的类别、物品的深度、宽度和高度、所在的地图、组成部件及感知模型.Tenorth等[12-13]表征物品知识的目的是为了某个具体应用, 包含的内容不全面, 物品知识的适用性较弱.
本文为了实现服务机器人对物品知识的类人认知和推理, 通过模拟知识在思维中联想式的存储方式, 对物品知识进行全面表征.与已有工作相比, 本文优势如下.1)所表征的物品知识丰富, 包含了物品视觉属性、类别属性、物理属性、功能属性和操作属性;2)通过制定SWRL规则, 实现了物品功能属性和操作动作的自动获取;3)所构建的物品语义知识库不局限于某个具体应用, 可以作为与物品相关的各个应用的基本组成部分.
1 本体描述语言的选择和系统框架 1.1 本体定义及本体描述语言的选择 1.1.1 本体定义目前, 应用最广泛的本体定义是阎红灿[14]提出的:Ontology是共享概念模型的明确的形式化规范说明.本体可以用于描述资源之间的联系, 揭示资源本身以及资源之间更复杂和丰富的语义关系, 对资源作出完全形式化的描述, 使资源具备机器可理解的语义.在本体中,可以将资源视为一个对象, 人、杯子、机器人、房间、地点、查询请求等均可以作为资源[15].
本体的形式化定义为:O=(C, I, P, A, F), 其中O表示本体(ontology), C表示类(class)的集合;P表示属性(property)的集合, 描述了类与类、实例与实例、实例与数值之间的二元关系;I表示实例(individual)的集合, 实例是类的元素;A(axiom)表示公理的集合, 包括类公理、属性公理、实例公理.类公理表示类与类之间的相互关系(包含或等价);属性公理表示属性与属性之间的相互关系(包含、等价或互逆)及属性的特征(传递性、对称性、函数性或反函数性);实例公理表示实例之间的关系(等价或不同);F表示事实(fact)的集合, 除了公理以外的其他关系都用事实表示.
1.1.2 本体描述语言的选择现有的本体描述语言主要包括XML、RDF/RDFS、OWL等, 后者是在前者的基础上发展起来的, 在语法上对前者进行继承和扩展.在XML、RDF/RDFS、OWL文档中的基本元素均为三元组, 即(主语, 谓语, 宾语), 其中上一个三元组的宾语可以作为下一个三元组的主语, 以此形成一个网状结构, 如图 1所示.
![]() |
图 1 联想式的知识存储 Fig. 1 Knowledge stored in association |
与其他的本体描述语言相比, OWL包含了更多用于描述属性和类型的词汇, 因此具备更强的表达能力[15].OWL有3种子语言:OWL Full、OWL DL、OWL Lite.其中, OWL Full表达能力过于强大, 不具备完备或高效的推理支持;OWL Lite对OWL DL的构造施加了进一步限制, 表达能力有限;OWL DL在扩展了表达能力的同时, 维持了对高效推理的支持.选用OWL DL作为本文的本体描述语言.
1.2 整体框架首先以人对物品的认知过程为参考, 以服务任务对物品知识的需求为分类指标, 将物品知识分为5种类型的属性, 即类别属性、视觉属性、物理属性、功能属性、操作属性.然后通过VisA数据集和WordNet获取视觉属性、类别属性和物理属性, 使用OWL进行表征.再根据属性之间的联系制定SWRL规则库, 实现功能属性和操作动作的获取.最后将获取的物品本体模型存入MySQL数据库, 实现持久化存储.该物品语义知识库可以用于指导机器人操作, 提供物品的高层语义信息.整体框架如图 2所示.
![]() |
图 2 物品知识分类、表征、推理整体框架 Fig. 2 Framework of object knowledge classification, representation and reasoning |
通过对物品知识分类, 使用5种属性, 即视觉属性、类别属性、物理属性、功能属性、操作属性, 对物品知识进行充分描述, 结合本体建模语言进行建模, 实现对物品知识的语义表征.这种近似公式化的建模方法避免了由于概念之间关系复杂而导致的关系混乱, 有利于本体的扩展和更新.
2.1 视觉属性视觉属性是对HOG、SIFT等底层视觉特征的高度抽象及概括, 包含物品颜色、形状、材料、组成部件等内容.
视觉属性灵活性强, 物品实例和类均可以通过若干视觉属性的组合进行描述;视觉属性迁移能力强, 可以在类内和类间使用;视觉属性可以作为中间特征实现对零训练样本物品的描述和识别;在基于自然语言的服务任务中, 视觉属性有助于机器人对服务任务的理解;视觉属性还可以作为其他属性的获取条件.
Silberer等[16]开发了一组具备消歧性和认知可信性的视觉属性列表.人类可以使用这些视觉属性来描述物品概念.本文采用概念的视觉属性(visual attributes for concepts, VisA)数据集①来获取物品视觉属性.为了使表述简洁清楚, 选择Home类部分代表性物品进行视觉属性描述.
① http://homepages.inf.ed.ac.uk/s1151656/resources.html
为了更符合OWL描述习惯, 将VisA数据集中的元素名、内容进行修改, 对应关系如表 1所示.
![]() |
表 1 VisA与物品语义知识库中术语的对应关系 Table 1 Map of terminologies between VisA and objectssemantic knowledge base |
本体模型是一个网状的层次结构, 层次性由父类-子类关系(rdf: subClassOf)体现.通过层级关系可以实现子类对父类属性的继承, 有利于机器人对物品的认知.VisA数据集缺乏对物品父类-子类关系的描述.
WordNet[17]是由Princeton大学的心理学家、语言学家和计算机工程师联合设计的基于认知语言学的英语词典, 它按照单词的意义组成了一个“单词的网络”.通过查询WordNet可以实现物品父类-子类关系的获取.
以(卧床)老人居住的家庭环境为背景, 从中挑选出每个房间代表性的物品或日常生活必需品作为描述对象(为了和WordNet相对应, 使用英文对物品名称进行描述).
Bedroom:{Bed, Curtain, Teapot, MedicalKit, Cup};
Sittingroom:{Ashtray, Door, WaterFountain, TV, Sofa, AirConditioner}
Kitchen: {Microwave, Refrigerator, Bowl, Dish, Rag, Spoon, Chopsticks};
Diningroom: {Table, Chair};Bathroom: {Toilet, Mop}.
针对上述物品, 选择的视觉属性如下.
Color:{Black, Blue, Brown, Green, Grey, Golden, Orange, Pink, Red, Silvery, White, Yellow, Transparent}
Shape:{BoxShaped, Concave, ConcaveEnd, Curved, Deep, FlatSurface, Hollow, Large, Long, LongHandle, Rectangular, Semicircular, Round, Shallow, Tall, Handle}
Part:{Armrest, Back, Bar, Blade, Drawer, Door, Upholstery, Edge, Leg, Lid, Seat, Shelf, Spout}
Material:{Aluminium, Ceramic, Porcelain, Enamel, Glass, Iron, Metal, Silver, Wood, Plastic, StainlessSteel}
为了充分利用本体中类继承的特点和避免出现无用层级, 从WordNet中选择47个名词(上位词、下位词)作为上述物品类别属性.包括:{Ware, Kit, Instrumentation, Pot, Application, Equipment, Device, Furnishing, Bed, Tableware, Implement, Curtain, TV, Dishware, Furniture, Ashtray, EatingUtensil, Container, Cup, Vessel, Utensil, ElectronicEquipment, Mechanism, WhiteGoods, CleaningImplement, Toilet, Seat, Receptable, KitchenApplication, SanitaryApplication, Sofa, KitchenUtensil, Spoon, Dish, Mop, MedicalKit, CookingUtensil, Table, Bowl, CoolingSystem, Refrigerator, Microwave, Teapot, Chopsticks, AirConditioner, Chair, WaterFountain}
构建的基于WordNet的部分物品类别属性本体模型如图 3所示.
![]() |
图 3 物品类别属性本体模型图 Fig. 3 Object category attributes' ontology model graph |
功能属性描述了人可以对物品施加的动作, 例如一个杯子可以用来盛水, 它具备“可以用来盛水”的功能属性.
大多数家庭物品具备特殊的使用目的, 它们由具备功能属性的部件(视觉属性)组成[18], 此外物品功能属性与类别属性、物理属性有关[19], 因此可以通过物品视觉属性、类别属性、物理属性推理获取物品功能属性.此外, 部分功能属性成对出现, 可以通过一种功能属性推理获取另一种功能属性.
选择22个形容词来描述家庭环境中常用物品的功能属性, 包括:{Graspable, Releasable, Movable, Pourable, Pressable Containable, Microwavable, Sittable, Washable, Fillable, Scrubbable, Openable, Rotatable, Closable, Eatable, Drinkable, Heatable, Supportable, Moppable, PourTo, Lying, Scrubbled}.
以上述21种物品为例, 描述它们具有的功能属性如图 4所示.若一个物品具有某种功能属性, 则对应框为灰色, 反之为白色.由图 4可知, 盛放液体的容器具备{Pourable, Pourto, Drinkable, Washable, Containable}等功能属性;盛放固体的容器具备{Fillable, Eatable, Containable, Washable}等功能属性;可移动物品具备{Graspable, Releasable, Movable}等功能属性;家具具备{Sittable, Lying, Supportable, Openable, Closable}等功能属性;家用电器具备{Pressable, Scrubbable, Microwavable}等功能属性.
![]() |
图 4 物品类别属性和功能属性关系图 Fig. 4 Diagram between category attributes and affordance |
定义物理属性为可定量描述的属性.机器人对物品执行抓取或更复杂的操作时, 需要物品的尺寸、体积、重量等信息.以WordNet为参考, 构建物理属性本体模型, 如图 5所示.
![]() |
图 5 物品物理属性本体模型图 Fig. 5 Object physical attributes' ontology model graph |
操作属性包含操作物品时所需的动作序列、抓取点、抓取力和抓取轨迹.物品功能属性可以作为物品类别属性与操作动作的中间媒介, 通过功能属性获取的操作动作如表 2所示.可以通过属性objectkb: occursBeforeInOrdering和objectkb: occursAfterInOrdering描述操作动作的先后执行顺序, 形成动作序列.
![]() |
表 2 物品操作属性 Table 2 Objects' operation attributes |
与机器人可执行动作脚本相比, 操作序列是机器人对物品施加的可执行动作的高层语义描述.机器人可以通过使用操作属性, 完成针对物品操作动作的提前规划.
上述与视觉属性、类别属性、物理属性、操作属性有关的英文名词可以作为构造物品本体模型的类(Class).此外, 在本体模型中包括描述不同概念之间关系的对象属性(Object Property)和数据属性(Data Property)及实例(Instance)[15, 20].
对象属性为将对象进行相互关联的属性, 包含的对象属性有:{hasVisualAttribute, hasColor, hasPart, hasShape, hasMaterial, has Affordance, hasOperationAttribute}.
数据属性为将对象与数据类型相关联的属性, 包含的数据属性有:{hasDimension, hasDiameter, hasWeight, hasWidth, hasPhysicalAttribute, hasLength, hasVolume, hasHeight}.
实例为类的个体, 继承所属类的所有属性, 并具有相应的属性值.定义某个类的实例须分3步开展:确定类、创建类的实例、添加该实例的属性值.如Cup类的实例Cup_0101具备的属性为:hasColor: Red;hasMaterial: Ceramic;hasShape: Cylinder;hasPart: Handle;hasAffordance: Containable, Graspable, Movable, Releasable, Washable, Drinkable, Pourable;hasUpperDiameter: 85 cm;hasBottomDiameter: 70 cm;hasWeight: 142 cm;hasVolume: 420 ml.
3 基于SWRL的语义规则库的获取OWL DL建立在类和属性的基础上.虽然OWL DL包含了相对丰富的类构造器, 但是它在属性描述方面的能力相对较弱.
SWRL为W3C推荐标准, 是OWL DL和RuleML(rule markup language)的结合, 克服了OWL DL在描述属性合成和属性移植方面表现能力不足的缺点[21].采用SWRL对OWL DL进行扩展.
SWRL规则的抽象语法形式如下:
axiom::=rule
rule::=‘Implies(‘[URIreference]
{annotation} antecedent consequent’)’
antecedent::=‘Antecedent(‘{atom}’)’
consequent::=‘Consequent (‘{atom}’)’
atom::=description‘(‘i-object’)’
|dataRange‘(‘d-object’)’
|individualvaluedPropertyID
‘(‘i-object i-object’)’
|datavaluePropertyID
‘(‘i-object d-object’)’
|sameAs‘(‘i-object i-object’)’
|builtIn‘(‘builtinID{d-object}’)’
builtIn::=URIreference
每条SWRL规则包括一个前提(antecedent)部分和一个结论(consequent)部分.前提部分由一个原子或多个原子的合取表示, 结论只允许出现一个原子.原子主要包括C(x)、P(x、y)、SameAs(x, y)、DifferentFrom(x, y)和Built-in(r, x, …), 其中C(x)为OWL DL中的本体类概念描述, P(x, y)为OWL DL本体的对象属性, x和y为OWL DL本体中的变量、本体实例、数据值.SameAs(x, y)表示x和y等价, DifferentFrom(x, y)表示x和y不同, Built-in(r, x, …)是SWRL的功能组件, 表示引用的逻辑比较关系.SWRL规则可以理解为:若前提中的所有推理原子均为真, 则结论为真.SWRL语法的人类可读形式为:antecedent→consequent.
SWRL规则库中规则的获取方法如图 6所示.
![]() |
图 6 SWRL规则库规则获取方法 Fig. 6 Construction method of SWRL rule library |
通过上述SWRL规则获取方法制定的部分规则如下所示.
1. Handle(?x)∧Graspable(?y)
→hasAffordance(?x, ?y)
2. hasPart(?x, ?y) ∧hasAffordance(?y, ?z)
→hasAffordance(?x, ?z)
3. Container(?x)∧Containable(?y)
→hasAffordance(?x, ?y)
4. hasAffordance(?x, ?y)∧Openable(?y)
∧Closable(?z)→hasAffordance(?x, ?z)
5. hasAffordance(?x, ?y)∧Graspable(?y)
∧Releasable(?z)→hasAffordance(?x, ?z)
6. hasAffordance(?x, ?y)∧Graspable(?y)
∧Grasp(?z)→hasOperationalAttribute(?x, ?z)
7. hasAffordance(?x, ?y)∧Releasable(?y)∧ Release(?z)→hasOperationalAttribute(?x, ?z)
4 实验分析 4.1 物品语义知识库用于物品操作指导使用Jena[22]接口, 将构建的本体文件中的三元组表示形式映射为关系数据库中的关系模式, 再将三元组存储到MySQL[23]数据库, 实现持久化存储.
在实验室搭建的机器人物品操作仿真平台上,验证了通过访问物品语义知识库获取的属性知识可以辅助机器人执行物品操作.
实验室使用Unity软件搭建机器人物品操作仿真平台, 使用3ds Max软件构建杯子、桌子、椅子、电脑等物品模型, 模拟了实验室真实场景.在该场景的基础上, 开发物品抓取、运动规划、路径导航模块, 对复杂任务执行过程进行动力学仿真.为了模拟更加真实的物品抓取操作, 使用3ds Max软件设计多自由度的机械臂模型.
机器人通过查询物品语义知识库获取的物品实例具备的属性知识如图 7所示.在该实验中, 视觉属性可以作为该杯子为Cup_0101实例的证据, 操作属性提供了操作物品的动作序列Grasp-Move-Release及抓取Cup_0101所需的抓取力、抓取点和操作轨迹.这些先验知识可以指导运动规划模块的逻辑控制节点对动作函数执行序列的规划及操作臂对杯子抓取位置、抓取轨迹和释放轨迹的选择, 如图 8所示.在这些先验知识的辅助下, 机器人最终完成了Grasp-Move-Release服务任务, 如图 9所示.
![]() |
图 7 物品语义知识库查询过程和结果 Fig. 7 Query process and results to object semantic knowledge base |
![]() |
图 8 机械臂抓取动作 Fig. 8 Grasp action of manipulator |
![]() |
图 9 物品抓取-移动-释放任务 Fig. 9 Task of object Grasp-Move-Release |
通过查询物品语义知识库机器人, 可以以统一的形式, 获取与物品相关的多种高层语义信息.
1) 将物品名称作为查询关键词, 可以获取该物品具备的视觉属性、功能属性、物理属性、类别属性、操作属性, 如图 10(a)所示.
![]() |
图 10 语义知识库查询结果 Fig. 10 Query results of semantic knowledge base |
2) 将属性作为查询关键词, 可以获取具备该属性的所有物品, 如图 10(b)所示.
3) 将物品的部分属性作为查询关键词, 可以获取物品的所属类别和其他属性, 如图 10(c)所示.
5 结论(1) 通过对物品知识进行基于属性的线分类、形式化表征及推理、持久化存储, 使机器人拥有了条理化的、全面化的、机器人可理解的、可共享的物品语义知识库.
(2) 通过查询云端物品语义知识库, 机器人不仅可以知道物品是什么(视觉属性、类别属性), 还可以知道该物品可以用来干什么(功能属性)以及如何使用(物理属性、操作属性).
(3) 实验表明, 构建的物品语义知识库不仅可以作为先验知识, 提供机器人执行服务任务时所需的物品知识, 而且可以以一个统一的形式提供与物品相关的多种高层语义信息.
[1] |
戈尔茨坦. 认知心理学-心智、研究与你的生活[M]. 3版. 张明, 王佳莹, 康静梅, 等, 译. 北京: 中国轻工业出版社, 2015: 315-333.
|
[2] |
FARHADI A, ENDRES I, HOIEM D, et al. Describing objects by their attributes[C]//Proceedings of CVPR. Miami: IEEE, 2009: 1778-1785. http://doi.ieeecomputersociety.org/10.1109/CVPRW.2009.5206772
|
[3] |
SUN Y Y, BO L, FOX D. Attribute based object identification[C]//Proceedings of ICRA. Karlsruhe: IEEE, 2013: 2096-2103. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6630858
|
[4] |
ZHU Y, FATHI A, LI F F. Reasoning about object affordances in a knowledge base representation[C]//Proceedings of ECCV. Zurich: Springer, 2014: 408-424. http://link.springer.com/10.1007/978-3-319-10605-2_27
|
[5] |
LAMPERT C H, NICKISCH H, HARMELING S. Learning to detect unseen object classes by between-class attribute transfer[C]//Proceedings of CVPR. Miami: IEEE, 2009: 951-958. http://doi.ieeecomputersociety.org/10.1109/CVPRW.2009.5206594
|
[6] |
DUAN D, PARIKH D, CRANDALL D, et al. Discovering localized attributes for fine-grained recognition[C]//Proceedings of CVPR 2012. Providence: IEEE, 2012:3474-3481.
|
[7] |
GUPATA A, KEMBHAVI A, DAVIS L S. Observing human-object interactions:using spatial and functional compatibility for recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2009, 31(10): 1775-1789. DOI:10.1109/TPAMI.2009.83 |
[8] |
RUIKEN D, WONG J M, LIU T Q, et al. Affordance-based active belief: recognition using visual and manual actions[C]//Proceedings of IROS. Daejeon: IEEE, 2016: 5312-5317. http://ieeexplore.ieee.org/document/7759781/
|
[9] |
KOPPULA H S, GUPTA R, SAXENA A. Learning human activities and object affordances from RGB-D videos[J]. International Journal of Robotics Research, 2013, 32(8): 951-970. DOI:10.1177/0278364913478446 |
[10] |
KOPPULA H S, GUPTA R, SAXENA A. Anticipating human activities using object affordances for reactive robotic response[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 38(1): 14-29. |
[11] |
LINDNER F, ESCHENBACH C. Affordance-based activity placement in human-robot shared environments[C]//Proceedings of ICSR. Bristol: Spring, 2013: 94-103. http://www.springerlink.com/content/fulltext.pdf?id=doi:10.1007/978-3-319-02675-6_10
|
[12] |
TENORTH M, BEETZ M. Representations for robot knowledge in the KnowRob framework[J]. Artificial Intelligence, 2015, 247(2017): 151-169. |
[13] |
BASILE V, CABRIO E, GANDON F. Building a general knowledge base of physical objects for robots[C]//Proceedings of ESWC. Heraklion: Springer, 2016: 8-11. http://link.springer.com/10.1007/978-3-319-47602-5_2
|
[14] |
阎红灿. 本体建模与语义Web知识发现[M]. 北京: 清华大学出版社, 2015, 145-146.
|
[15] |
安东尼乌. 语义网基础教程[M]. 陈小平, 周熠, 杨斌, 等, 译. 北京: 机械工业出版社, 2014: 87-89.
|
[16] |
SILBERER C, FERRARI V, LAPATA M. Models of semantic representation with visual attributes[C]//2013 ACL Annual Meeting of the Association for Computational Linguistics. Sofia: [s. n. ], 2013: 572-582. https://www.researchgate.net/publication/270878693_Models_of_Semantic_Representation_with_Visual_Attributes
|
[17] |
FELLBAUM C, MILLER G. WordNet:an electronic Lexical database[M]. London: MIT, 1998, 71-423.
|
[18] |
TENORTH M, PROFANTER S, BALINT-BENCZEDI F, et al. Decomposing CAD models of objects of daily use and reasoning about their functional parts[C]//Proceedings of IROS. Vilamoura: IEEE, 2013: 5943-5949. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6697218
|
[19] |
HERMANS T, REHG J. M, BOBICK A. Affordance prediction via learned object attributes[C]//Proceedings of the ICRA. Portugal: [s. n. ], 2011: 1-8. http://www.mendeley.com/catalog/affordance-prediction-via-learned-object-attributes/
|
[20] |
蒋湛, 姚晓明, 林兰芬. 基于特征自适应的本体映射方法[J]. 浙江大学学报:工学版, 2014, 48(1): 76-84. JIANG Zhan, YAO Xiao-ming, LIN Lan-fen. Feature-based adaptive method of ontology mapping[J]. Journal of Zhejiang University:Engineering Science, 2014, 48(1): 76-84. |
[21] |
HORROCKS I, PATEL-SCHNEIDER P F, BOLEY H, et al. SWRL: a semantic Web rule language combining OWL and RuleML[EB/OL]. (2004-03-21)[2018-01-24]. https://www.w3.org/Submission/SWRL/.
|
[22] |
UEDA T, IZUMI N, MORITA Y, et al. Jena-Java framework for developing semantic Web applications[J]. Journal of Japanese Society for Artificial Intelligence, 2004, 19(3): 325-333. |
[23] |
MYSQL A. MySQL: the world's most popular open source database[EB/OL]. [2018-01-24]. https://www.mysql.com/.
|