作者简介:王生生(1974-),男,教授,博士生导师.研究方向:机器视觉,时空推理.E-mail:wss@jlu.edu.cn
由于目前的有向点方向代数(OPRA)推理只关注3个空间对象的静态关系推理,本文针对n个对象的方向关系定义了OPRA方向关系网络的时空推理问题。基于约束传播和概念领域理论,利用OPRA关系之间的空间约束和时间演变规律,给出了OPRA方向关系网络时空推理算法,解决了n个对象间动态OPRA关系的推理问题。本文算法可以应用于机器人导航、无人机导航、舰艇导航、战场分析等领域。
Oriented Point Algebra (OPRA) is one of hot topics in qualitative spatial reasoning. Previous researches were mainly focused on spatial reasoning with at most three static objects. However, many scenarios involve more objects and the scenarios may be dynamic. To deal with these problems, the spatio-temporal reasoning of OPRA direction relation network is defined, which is a dynamic reasoning framework for large number of objects. The constraint propagation theory is used to handle the problem of large number, and the conceptual neighborhoods theory is used to handle the dynamic reasoning. An algorithm is proposed to fuse the two issues, which is a solution for the OPRA reasoning problem of n dynamic objects. The method can used in robot navigation, unmanned aerial vehicle navigation, ship navigation and battlefield analysis and so on.
定性空间推理是人工智能的重要组成部分[1, 2, 3, 4], 在基于内容的图像检索[5]、生物信息[6]、地理信息系统(GIS)[7]、机器人[8]、空间数据库[9]等领域有广泛的应用。方向关系推理是空间推理的一个重要方面[10, 11]。有向点关系代数(Oriented point relation algebra, OPRA)是著名的基于点对象(Point-based)的方向关系模型[4]。它把空间对象建模为带方向的点, 称为有向点。通过两个有向点之间的连线与有向点自身方向之间的夹角来表示方向关系。
OPRA方向关系推理在GIS、无线传感器网络、机器人导航等领域都有着重要应用意义[7, 12], 但也是人工智能领域比较困难的问题之一[11]。2012年, Mossakowski等[13]研究了OPRA方向关系的复合运算。2014年, Wang等[14]研究了OPRA方向关系的多粒度复合推理, 使得OPRA推理可以应用于任意混合粒度之间。上述工作只涉及了3个空间对象之间的静态OPRA方向关系。
在实际应用中, 场景是动态变化的, 涉及的空间对象也是众多的。关于多空间对象的、动态的OPRA方向关系推理鲜有报道, 本文称这一主题为OPRA方向关系网络时空推理。OPRA网络时空推理在机器人导航、无人机导航、舰艇导航、战场分析等领域有广阔的应用前景。
本文应用约束传播[15]思想解决
为便于理解, 在给出OPRA方向关系网络时空推理的定义之前先给出OPRA理论的几个基本概念。然后将依次给出OPRA方向关系网络的空间、时间和时空推理算法。
OPRA将对象建模为无大小、有方向的点。这样的模型可以方便地对应于有方向的或运动的物体。
定义1 有向点(o-point)
有向点有两个基本属性:位置和方向。一个有向点
式中:
定义2 OPRA关系(OPRAm)
给定粒度参数m(m是一个正整数), 对于有向点A、B, 它们的OPRA关系OPRAm(A, B)定义为:
式中:φ AB=atan2(yB-yA, xB-xA), atan2(y, x)是从x轴正向到向量(x, y)所成的旋转角, 规定其取值范围为[0, 2π )。Qm(δ )是一个粒度化操作, 把一个定量的角度映射为定性标号, 定义为:
这里, 规定所有标号(即式(2)中的i、j、k, 或者说Qm(δ )的值)都定义在4m的循环群上。每一个OPRAm (A, B)的取值称为一个基本OPRA关系。对给定的m, 基本OPRA关系的取值集合称为OPRAm关系全集, 记为
定义3 OPRA复合运算
对于OPRAm的基本关系r1、r2它们的复合运算
式中:D是有向点的集合。OPRA复合运算是弱复合, 证明参见文献[13]。
2012年, Mossakowski[13]用3个约束(turn, sign, triangle)给出了判定OPRA复合表项的方法, 并给出了完整的证明。通过该方法可以构造出OPRA复合表, 进而通过查表完成OPRA复合运算。
OPRA方向关系网络是为了建模任意多个(数量固定)对象之间的方向关系。
定义4 OPRA关系网络
给定粒度参数m, 对于n个有向点P1, P2, …, Pn 构成的集合D, 在时刻t, D上的OPRA关系网络定义为
式中:
OPRA网络的空间、时间、时空推理致力于确定OPRA网络或网络序列中的未知元素。
定义5 OPRA方向关系网络的空间推理
对于由n个有向点构成的集合D, 在时刻t有OPRA关系网络
直到所有
使用概念邻域进行时间维度上的推理由来已久。概念邻域由Freksa[17]于1992年为解决事件的时间关系而提出。2007年, Dylla等[16]研究了OPRA的概念邻域。
定义6 OPRA概念邻域
有向点A、B做连续运动, 给定粒度参数m, 在时刻t有OPRAm(A, B)=r。在时刻t', 有OPRAm(A, B)=r'(r'与r可能相同), 如果|t'-t|足够小, 以至于在时间段[t', t]或[t, t']内, OPRAm(A, B)无法取得r与r'之外的其他值, 则称r'是r的邻域, r'的取值集合称为r的概念邻域。r的概念邻域记作adj(r)。
在实际应用中, 由于物理因素, 两个物体位置重合的情况很难遇到, 这意味着在OPRA关系中, 形式
定义7 OPRA方向关系网络时间推理
在时间序列
直到所有
定义8 OPRA方向关系网络的时空推理
在时间序列
直到所有
OPRA网络时空推理可以应用于众多领域, 下面举例说明。在某复杂环境中, 有多个对象协同执行任务。例如, 在海上多艘渔船协同捕鱼或多艘打捞船协同作业; 在战场上, 多辆战车协同作战; 在室内, 多个智能机器人协同执行任务。在环境复杂且具有严重干扰的情况下, 难以实现空间对象的精确定位。而OPRA方向关系虽然表达简单, 但容易获得, 并且语义丰富, 非常适合在这些情况下做空间建模。然而, 由于视线或电磁波被障碍物、烟雾或人为干扰等因素阻碍, 部分对象间的OPRA方向关系在某些时刻也无法直接获得。在这种情况下, 可以应用OPRA网络时空推理算法推断出缺失的OPRA方向关系, 从而降低所采集历史信息中的不确定性, 以便于后续智能决策。
OPRA方向关系网络空间推理(简称OPRA网络空间推理)可以在一个时刻上, 利用多个对象间的OPRA关系进行推理, 从而降低未知关系的不确定性。约束传播是空间推理领域被广泛讨论的主题, 它利用一系列巧妙安排的复合推理, 把对象之间隐含的约束尽可能地发掘出来, 这些发掘出来的隐含约束事实上提供了未知关系的信息。这一节借鉴约束传播理论, 给出OPRA网络空间推理的算法实现。
算法:OPRA-NET-SPATIAL-REASON
输入:OPRA网络Θ D。o-point对象是x1, x2, …, xn, Ri, j是(xi, xj)之间的OPRA关系。
输出:如果检测到Θ D中的关系存在矛盾, 输出fail; 否则, 输出精化后的关系网络Θ D。
Q¬ { (i, j)|i< j };
while Q¹ Ø do{
select and delete an pair (i, j) from Q;
for k¹ i, k¹ j (kÎ {1, 2, …, n}) do{
if REVISION(i, j, k) then
if Ri, j=Ø then return fail;
else if (i, j) (not in) Q add (i, j) to Q;
if REVISION(k, i, j) then
if Rk, i=Ø then return fail;
else if (k, i) (not in) Q add (k, i) to Q.
}
}
REVISION(i, j, k){
t:=Ri, j;
Ri, j:=Ri, j∩ (Ri, kº Rk, j);
if (t = Ri, j) then return false;
Rj, i:=Converse(Ri, j);
return true;
}
上述算法中, Q是容器, 例如可以是FIFO(先进先出)队列;
下面分析该算法需要的复合运算的上界。对于给定的粒度参数
OPRA方向关系网络时间推理(简称OPRA网络时间推理)在时间维度上将未知的关系精确化。这一部分将给出通过概念邻域进行OPRA关系网络时间推理的算法。
算法:OPRA-NET-TIME-REASON
输入:在时间序列t1, t2, …, ts上的OPRA网络序列
输出:预测的关系网络序列
for v=2 to s do{
for every
}
}
for v=s-1 to 1 by -1 do{
for every
}
}
OPRA网络空间推理考虑了关系之间的制约因素, 却没有处理关系在时间维度上的演变现象。OPRA网络时间推理算法考虑了关系在时间维度上的演变规律, 却忽略了关系之间的制约规则。融合二者, 可以得到一个兼具双方优势的算法, 即OPRA方向关系网络时空推理算法。该算法可以大大提升OPRA网络序列中未知关系的确定性。
算法:OPRA-NET-SPATIO-TEMPORAL-REASON
输入:在时间序列t1, t2, …, ts上的OPRA网络序列
输出:如果检测到
if
for v=2 to s do{
for every
}
if
}
for v=s-1 to 1 by -1 do{
for every
}
if
}
通过模拟实验演示OPRA网络时空推理算法对提高系统方向关系的确定性的效果。
实验在运行于Windows8.1上的Matlab环境中进行。它模拟30个对象执行协同任务。对象做方向和速度(0~1之间的随机数)都随机变化的连续运动。对象之间的方向关系构成一个OPRA网络。在整个任务执行过程中, 所有采样时刻形成的OPRA网络构成一个OPRA网络序列。这里, 取12个连续的采样时刻。由于某些干扰因素, 这个序列中包含很多无法直接检测的方向关系。这里为方便起见, 设定当o-point距离大于场景边长的30%时, OPRA关系无法检测。其他的相关参数如下:粒度参数m=2, 场景范围为100× 100。
为最大程度地提高整个关系网络序列的确定性, 应用OPRA网络时空推理算法对这个关系网络序列进行精化。在时刻
它保证当
在一次实验中, 进行OPRA网络时空推理, 各采样时刻的精确度如表1所示。表中, nS是OPRA网络中的精确关系的数量, nU是完全未知关系的数量,
定性空间推理是人工智能领域的主要研究方向之一, OPRA方向关系模型是近年定性空间推理的一个热点问题。然而, 此前对OPRA方向关系的推理问题研究仅限于复合推理, 它只能解决3个空间对象的静态关系推理问题。本文基于约束传播和概念领域理论, 提出了OPRA方向关系网络时空推理算法, 解决了
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|