基于MEBN的大型舰船舰面保障作业检测
2021-01-11郭雪昆秦远辉罗永亮王宏安
郭雪昆,秦远辉,杜 亮,罗永亮,王宏安
1.中国船舶工业系统工程研究院,北京100094
2.中国科学院 软件研究所,北京100080
大型舰船舰面保障作业指驻扎于大型舰船的飞机的一次出动过程中,发生于舰面的针对飞机的出动回收准备活动,包括飞机降落、机械检查、补充燃料、加注特种液体和气体、充电、飞机调运、物资转运、物资挂载、飞机滑跑起飞等数十种作业[1-2]。基于舰面监控视频检测舰面保障作业,利于分析并提高保障作业效率。然而,大型舰船舰面往往停放数十架飞机;在机群出动过程中,舰面上所有飞机同时进行保障作业。单个保障作业往往涉及十几位操作员、数种特种车辆及器械。整个机群的舰面保障作业需数以百计的操作员、高级器械及设施设备的协作。这导致舰面监控视频的同一视频场景内同时发生多个保障作业,而且不同保障作业参与者位置交叉、重叠。图1示意了某大型舰船某舰面监控视频场景内同时发生的三个保障作业:调运车调运(图1(a)下方)、调运员调运飞机(图1(a)右上角)、调运员调运飞机(图1(b)右上角)。调运员调运飞机的两个保障作业的各参与者轨迹交叉、重叠,同时调运员调运飞机保障作业又与调运车调运保障作业参与者的轨迹交叉。
最近几十年,研究人员对监控视频中事件检测技术进行了大量研究,取得了很大进展。现有的监控视频中事件检测技术大多适用于检测单目标物的某个关键姿态[3-4]、关键动作[5]或运动轨迹[6]。然而,大型舰船舰面保障作业涉及多个参与者(十几位操作员、数种车辆及高级器械)的多个动作。现有的监控视频中事件检测技术很难处理大型舰船舰面保障作业检测问题。相对监控视频中事件检测,复杂事件检测关注持续时间更长、参与者数量更多、信息更加丰富复杂的事件[7]。现有的复杂事件检测技术,或通过融合多种底层特征检测复杂事件[8-9],或基于高层语义概念实现复杂事件检测[10-11],基本都针对场景内只发生一个复杂事件的情况设计。然而,在大型舰船舰面保障作业检测问题中,往往同一视频场景内同时发生多个保障作业,不同保障作业参与者的轨迹交叉、重叠,这给现有的复杂事件检测技术带来很大挑战。
本文提出了一种基于MEBN(Multi-entity Bayesian Network,多实体贝叶斯网络)的大型舰船舰面保障作业检测技术。在视频预处理阶段,获取视频场景内目标物运动轨迹。在保障作业检测阶段,首先,采用带约束的轨迹自动聚类算法,自动计算保障作业个数并将参与同一保障作业的轨迹聚至同一类;然后,采用基于MEBN的保障作业识别算法,推断各聚类的保障作业类型。
本文的贡献有两个:(1)带约束的轨迹自动聚类技术,先将轨迹由三维空间曲线投影为多维空间的点,再采用基于LCVQE[12]的遗传算法,搜索得到最佳聚类个数及最佳分割方式,将参与同一保障作业的轨迹聚至同一类;(2)基于MEBN的舰面保障作业识别算法,针对各轨迹聚类,得到各时刻的保障作业,通过对保障作业序列的联合分析,得到聚类的保障作业。
图1 同一视频场景内同时发生三个保障作业时各保障作业参与者位置交叉
1 相关工作
1.1 多实体贝叶斯网络
多实体贝叶斯网络由Laskey[13]于2008年提出,因其描述不确定性问题的优势及建模领域知识的能力,在各领域得到广泛用。徐江科等人[14]将多实体贝叶斯网络用于评估信息系统用户行为的可信程度。文献[15]介绍了基于多实体贝叶斯网络的战场态势估计方法。Laskey等人[16]提出一种基于多实体贝叶斯网络的Cross Country Mobility(CCM)分析方法,克服了现有地理信息系统在处理不确定性数据方面的缺点。为了解决语义网问题中的不确定性因素,文献[17]将多实体贝叶斯网络与语义网本体语言(Web Ontology Language)结合,提出一种新的基于概率的语义网本体论。与这些技术不同,将多实体贝叶斯网络应用于大型舰船舰面保障作业检测,定义了针对舰面保障作业的多实体贝叶斯理论。
文献[18]提出一种基于多实体贝叶斯网络的篮球比赛视频分析技术,该技术可检测运动员执球、投球、接球、传球等事件,并提取事件发生的关键帧。与该技术不同,本文技术要检测的事件往往并发于同一视频场景内,且事件参与者位置交叉、重叠。为此,本文提出了带约束的轨迹自动聚类技术,依据保障作业的约束,自动将场景内所有轨迹按不同保障作业聚类,使得参与同一保障作业的目标物聚在同一类。
1.2 复杂事件检测
在计算机视觉中,复杂事件检测技术与本文密切相关。传统的复杂事件检测技术大多采用多种特征融合的思路[7-9,19]。近年来,基于语义概念进行复杂事件检测的技术逐渐引起关注[10]。Yan等人[11]提出一种基于语义概念的字典学习框架,将描述相关语义概念的图像数据与多任务字典学习框架融合,训练出单个事件的字典表示形式,用于复杂事件检测。Ma等人[20]更进一步,结合了视频中的语义概念,通过整合多种特征实现复杂事件检测。文献[21]提出一种新的多实例学习方法(multiinstance learning),为各事件分别学习一个SVM线性分类器及二值指示器。
与现有的复杂事件检测技术不同,采用带约束的轨迹自动聚类方法,将同一视频场景内并发的保障作业参与者聚至同一类;再采用基于多实体贝叶斯网络的保障作业检测算法识别各聚类发生的保障作业。
1.3 自动聚类与带约束的聚类
自动聚类方法不需输入目标聚类个数,算法自动确定最佳聚类个数及数据分割方式。Zelnik-Manor等人[22]对Ng-Jordan-Weiss 谱聚类算法进行改进,提出局部尺度分析与特征向量旋转技术,实现对数据的自动聚类。He等人[23]提出一种两阶段遗传算法的自动聚类方法,第一阶段在解空间内搜索最佳聚类个数,第二阶段在最佳聚类个数基础上进一步进化聚类中心。GenClust 对AGCUK 技术[24-25]的染色体操作方式,避免了搜索陷入局部最优。Zhou 等人[26]于2018 年提出SeedClust 方法,采用基于密度分析的方法生成初始群体,并采用改进的k-means++方法生成聚类的初始中心。
带约束的聚类问题来自将期望的数据分割方式融合至聚类过程的需求[27]。常见的约束包括限制某些数据对象必须于同一类或不可于同一类。Constrianed Vector Quantization Error,CVQE)算法[28]是最典型的一种方法。该方法为k-means 聚类目标函数添加衡量受约束对象与聚类原型(prototypes)间距的能量项,惩罚违反约束的聚类,以获得符合约束的聚类结果。针对CVQE对约束对象顺序敏感、计算量过大等缺点,Pelleg等人[12]提出LCVQE 方法,通过数据对象与聚类原型间距衡量聚类结果保持聚类约束的程度。Bilenko 等人[29]提出MPCK-Means方法,通过学得最符合约束的距离函数,最大化符合的的约束的数量。
与自动聚类及带约束的聚类方法不同,本文针对舰面保障作业检测问题,提出一种带约束的自动聚类方法。该方法基于遗传算法框架,先自动搜索最适合的聚类个数,再采用带约束的k-means算法寻找符合舰面保障约束的最佳聚类。
图2 本文方法流程图
2 方法概述
本文方法流程如图2所示,分为视频数据预处理与保障作业检测两个阶段。本文方法的重点是保障作业检测。在视频数据预处理阶段,输入舰面监控视频,提取视频内各目标物的运动轨迹、连接中断轨迹及修复重合轨迹。在保障作业检测阶段,输入视频内目标物运动轨迹,先基于带约束的轨迹自动聚类技术,将参与同一保障作业的目标物聚至同一类(第3章);再在各轨迹聚类内,采用基于MEBN的保障作业识别技术识别作业类型(第4章)。
视频数据预处理:该阶段的输入是舰面监控视频,输出目标物运动轨迹。本文采用张等提出的方法跟踪目标物并对轨迹进行修剪。
令轨迹为S个点的有序集合,其中一点mi=(xi,yi,ti)为目标物在ti时刻的位置(xi,yi)。两轨迹点mi、mj间距定义为Ti、Tj距离为终点的延长线为过与三个轨迹点的插值曲线,其沿起点的延长线为过与三个轨迹点的插值曲线。迹轨迹修剪步骤如下:
(1)轨迹下采样。以间隔α(α=3)采样轨迹点,以过滤噪音。
(2)过滤短轨迹。令ms、me分别为轨迹的起点与终点,若‖ ‖msme≤β(β=10) ,则认为该轨迹为噪声轨迹,过滤掉。
(3)连接中断轨迹。若两轨迹Ti、Tj的目标物类型相同,‖TiTj‖<δ(δ=7)且与相交于,则视Ti与Tj属于同一轨迹,采用过两端点及的曲线将两轨迹连接为一条轨迹。
3 带约束的轨迹自动聚类
大型舰船舰面保障作业检测问题中,将视频场景内参与同一保障作业的轨迹聚至同一类面临两个难点:
(1)聚类个数未知,不同视频场景内发生的保障作业个数不同。
(2)聚类需满足一定的约束,大型舰船舰面保障作业过程中,不会出现多架飞机参与同一保障作业的情况,不会出现多辆同类车辆参与同一保障作业的情况。
为了解决如上难题,本文提出一种带约束的轨迹自动聚类方法。该方法首先将场景内轨迹由三维空间中曲线投影为多维空间中的点(3.1 节);然后采用带约束的自动聚类算法,先在解空间内搜索最佳聚类个数,再搜索符合约束的最佳聚类,最终实现视频场景内轨迹聚类(3.2节)。
3.1 轨迹投影
为了便于轨迹聚类,先采用多维尺度分析(Multidimensional Scale,MDS)[30]将轨迹投影为多维空间中的点。为了投影,首先计算任意两轨迹间距。轨迹间距需反映轨迹参与同一保障作业的可能性,本文基于两方面计算轨迹间距:(1)内部距离。在舰面保障作业过程中,同一保障作业的各参与者移动方向基本相同,始终保持很近距离,且基本于同一视频场景内,所以若两轨迹方向相近、空间距离较近且重叠时间较长,则两轨迹距离较近。(2)外部距离。若两轨迹与其他轨迹的距离相近,则两轨迹距离较近。基于此,两轨迹Ti、Tj的间距定义为D(Ti,Tj)=Din(Ti,Tj)+Dout(Ti,Tj)。
Din(Ti,Tj)衡量Ti与Tj的内部距离,定义如下:
ω、λ和γ是权重。Ddist(Ti,Tj)衡量轨迹的空间距离,定义为Ti与Tj的豪斯道夫距离。Dcocur(Ti,Tj)衡量轨迹的时间距离,定义为两轨迹同时出现的时间。Ddir(Ti,Tj)=∠ABCD衡量两轨迹的方向距离,定义为Ti与Tj位移方向的夹角。其中AB、CD分别为由Ti、Tj的起点指向终点的向量衡量Ti与Tj的外部距离,定义为两轨迹与其他轨迹内部距离之和的差。
基于轨迹间距公式,得到场景内任一对轨迹(Ti,Tj)的间距αij:
基于场景内轨迹距离矩阵M(Mij=αij),采用MDS方法将轨迹Ti投影为点pi。
3.2 带约束的自动聚类
已将场景内轨迹投影为多维空间中的点,接下来需在满足保障作业约束的前提下,自动聚类点集。保障作业的约束包括:(1)最多只有一架飞机参与同一保障作业;(2)同一类型车辆最多只有一辆参与同一保障作业。为了解决该带约束的自动聚类问题,本文提出一种基于遗传算法的k-means聚类技术,该技术采用遗传算法框架[23]搜索最佳聚类个数与最佳分割方式,基于LCVQE[12]算法寻找最佳聚类;算法见算法1。
算法1 基于遗传算法的k-means聚类技术
输入:点集(含个N顶点)及其CL约束(两个点不可于同一聚类内称为Cannot-Link,简称CL约束)集合B=L个约束),当前迭代的次数iter,最大迭代次数Nmax,交叉概率Pc,变异概率Pm,群体数量NG,直接进入下一代的个体数量Nbkg,当前群体集合Gcur,下一代群体集合Gnext
1.Gnext←∅,iter←0
2. 由P生成初始群体Gcur(包含NG个个体)
3. whileiter <Gmax:
4. foreacheinGcur:
5.Gnext←Gnext⋃mutation(e)
6. end foreach
7. foreach(ei,ej)inGcur:
8.Gnext←Gnext⋃crossover(ei,ej)
9. end foreach
10.Gnext←selection(Gcur,Nbkg)
11.Gcur←selection(Gnext,NG)
12. iter++
带约束的k-mean 聚类:大型舰船舰面保障作业的约束全为CL 约束[12]。因此,与LCVQE[12]不同,本文的LCVQE 算法目标函数内只包含CL 约束项(LCVEQ 算法见参考文献[12])。
遗传算法:本文采用基于聚类中心的聚类表示方法,一个个体表示一种聚类方式的所有聚类中心。注意,进化过程中,个体表示的聚类方式的聚类个数不同,则个体长度不同。初始群体通过随机采样法生成。适应函数基于聚类自身的聚合程度与聚类间分离程度定义(详情见文献[23])。选择操作分成两个阶段,先搜索最佳聚类个数,再搜索符合约束的最佳聚类[23]。在交叉操作中,只有在聚类个数相同的情况下交换聚类中心才有意义,所以限定交叉操作仅限于聚类个数相同的个体间进行[23]。变异操作分成两个阶段[23],第一阶段专注于产生新的聚类个数;第二阶段,群体中个体表示的聚类个数趋于一致,变异操作专注于产生新的聚类中心。
4 基于MEBN的保障作业识别
已聚类视频场景内目标物轨迹,接下来需识别各聚类内保障作业的类型。保障作业识别面临如下难点:
(1)参与者行为具有不确定性。比如,某视频场景内某时刻有一架飞机正在移动,若飞机一直保持该速度且前方有调运员指挥则可能是飞机调运,若飞机速度越来越快且旁边有放飞员则可能是滑跑起飞。因此,需通过对参与者的整个移动过程及相关目标物行为做联合分析推断保障作业类型。
(2)参与者行为/状态具时序性。同样的行为/状态按不同时序发生是不同保障作业,比如,上一时刻物资在物资转运车上,下一时刻物资不在物资转运车上,发生物资卸载保障作业;上一时刻物资不在物资转运车上,下一时刻物资在物资转运车上,发生物资装载保障作业。因此,需结合前面时刻与当前时刻的行为/状态推断保障作业类型。
(3)同一保障作业的各参与者不同时进入视频场景。以调运员指挥调运车调运飞机为例,调运员需在调运车前面一段距离引路,调运车在飞机前面一段距离通过牵引杆牵引飞机。调运员、调运车与飞机先后先进入视频场景。因此,需基于聚类内所有目标物的行为推断保障作业类型。
为了解决这些难点,本文提出一种基于MEBN的保障作业识别算法。首先,将保障作业视为由一系列子事件按层级组合成的复杂事件,自底向上逐层定义各子事件,直至复杂事件;然后,对各聚类,按时间采样,推断得到各时刻的保障作业,得到该聚类的保障作业序列,再对保障作业序列进行联合分析得到该聚类的保障作业类型。
MEBN 是传统贝叶斯网络与一阶逻辑谓词(firstorder logic)的结合,兼具传统贝叶斯网络处理不确定性的能力与一阶逻辑谓词的表达能力[13]。MEBN 将现实世界中对象抽象为实体,采用随机变量表示实体属性,用随机变量构成的有向无环图表示实体间因果关系,用联合概率分布描述因果变量间的条件概率,使用多实体片断(MEBN Fragment,MFrag)描述领域知识。在实例化阶段,取得一组MFrag,构造得到相关对象的贝叶斯网络(Situation-Specific Bayesian Network,SSBN),通过贝叶斯推断得到目标节点的后验概率。
4.1 保障作业多实体片断
根据概率本体建模流程(Probabilistic Ontology Modeling)[31]定义了保障作业相关的MFrag。本节仅给出与最典型的保障作业相关的MFrag,全部MFrag见附件。MFrag的条件概率表在训练阶段生成,本处省略。
4.1.1 调运车调运飞机保障作业相关的MFrag
描述调运车调运飞机的相关MFrag 如图3 所示。调运车通过索引杆与飞机联接,拖动飞机移动。在调运过程中,调运车、牵引杆与飞机的运动方向与速率基本相同,三者为相伴移动。
图3(a)与(b)分别为飞机移动与调运车移动的MFrag。该MFrag基于物体的速度大小(SpeedMeasure)、位置变化(PosMeasure)与速度方向(DirMeasure)推断物体是否移动。令物体O在ti-1与ti时刻的位置分别为(xi-1,yi-1)与(xi,yi),ti时刻的位置变化PosMeasurei=(xi-xi-1,yi-yi-1),速度大小SpeedMeasurei=PosMeasurei/‖ti-ti-1‖,速度方向DirMeasurei=PosMeasurei/‖posi‖。
调运车与飞机相伴移动的MFrag 如图3(c)所示。描述飞机移动、调运车移动、飞机与调运车运动方向距离、飞机与调运车速度大小距离、飞机与调运车位置距离的变量为输入变量;输出变量为飞机与调运车相伴移动的概率。类似图3(c),图3(d)为描述牵引杆与飞机相伴移动的MFrag。令物体Oi与Oj在某时刻的速度方向分别为diri与dirj,速度大小分别为vi与vj,位置分别为pi与pj,则运动方向距离,速度大小距离SpeedCov(Oi,Oj)=,位置距离
图3(e)为调运车调运飞机的MFrag,输入变量描述了牵引杆与飞机相伴移动、调运车与飞机相伴移动;输出变量描述了调运车调运飞机的概率。
图3 调运车调运飞机保障作业相关的MFrag
4.1.2 物资转运车卸载物资保障作业相关的MFrag
如图4 为物资转运车卸载物资的相关MFrag。图4(a)所示MFrag 判断物资与物资转运车之间的几何位置关系。图4(b)所示MFrag 通过物资与物资转运车之间的位置关系判断物资是否于物资转运车上。图4(c)所示MFrag 的输入变量为物资包围盒与物资转运车包围盒间位置关系,输出变量为物资不在物资转运车上的概率。图4(d)所示MFrag,通过前后两时刻物资与物资转运车的位置关系,推断物资转运车是否在卸载物资。
图4 物资转运车卸载物资相关的MFrag
图5 调运员指挥调运车调运飞机的相关轨迹
图6 调运员指挥调运车调运飞机相关轨迹的时间轴
4.2 保障作业识别
对各轨迹聚类,先以时间间隔t采样该聚类内轨迹的状态,再得到得到各采样点上的SSBN,并通过贝叶斯推断[32]得到作业类型及其概率。至此,得到保障作业序列,序列中的一个元素表示对应采样时刻以对应概率发生了某保障作业。最后,依据如下两点联合分析保障作业序列得到聚类的保障作业类型:
(1)一旦发生具时序性的事件,则判断发生了对应的保障作业。例如,在事件序列中,前一时刻的事件是物资不在物资转运车,后一时刻的事件是物资在物资转运车,则判断发生了物资装载保障作业;两事件出现顺序相反,则判断发生了物资卸载保障作业。
(2)参与者最多的事件为该聚类的保障作业。以调运员指挥调运车调运飞机为例(相关轨迹如图5;各轨迹沿时间轴排布如图6),各参与者先后进入视频场景,t0,t1,…为各采样时刻,t0时刻检测出人移动事件,t1时刻检测出人指挥调运车事件,t2时刻无任何对应事件,t3时刻检测出人指挥调运车调运飞机事件(t3时刻生成的SSBN 如图7 所示)。只有t3及其之后的时刻的SSBN 包含的目标物最多,则判断该聚类的保障作业是人指挥调运车调运飞机。
图7 调运员指挥调运车调运飞机的SSBN
5 实验与分析
采用C++、Python3.5与Matlab2016b实现系统原型,基于HP Z8G4服务器(Intel Xeon Gold 6136 CPU @3.00 GHZ 3.00 GHZ,128 GB RAM,NVDIA TITAN XP 12 GB RAM)完成对比与实验。
5.1 大型舰船舰面监控视频数据集
本文使用的大型舰船舰面监控视频数据集(简称数据集)共包括48 个监控视频片断,速率25 帧/s,分辨率1 280×720,涉及物资转移至物资挂载车(MTMM)、物资装载(ML)、操作员调运(OM)、飞机起飞(PF)、调运车调运(TM)、矮梯调运(LM)、物资挂载车调运(MMM)、物资挂载车转运物资(MMT)、调运车调运飞机(TTP)、调运员指挥调运车调运飞机(OTTP)、叉车调运(FM)、调运员调运飞机(OP)、物资调运(MT)、挡板调运(DBM)、直升机起飞(HF)、物资转运车调运(MTVM)共16 个舰面保障作业。数据集内各保障作业出现次数统计如图8所示;保障作业并发情况出现次数统计如图9 所示;本文技术针对各舰面保障作业的AP(Average Precision)如图10所示。
图8 数据集内各保障作业次数统计
图9 数据集内保障作业并发情况出现次数统计
5.2 参数与时间
本文算法模型涉及一系列参数,影响算法的效率与效果。为了选取最佳参数配置,先固定其他参数,再使当前参数在一定范围内按一定步长变化,取使保障作业检测mAP最佳的值。轨迹投影步骤中,ω=0.2,λ=0.5,γ=0.3,采用MDS 将轨迹投影至三维空间。遗传算法中,每代内包含的个体数量GN=50 ,最大迭代次数Gmax=150 ,交叉操作概率Pc=0.7 ,变异操作概率Pm=0.07。保障作业识别过程中,取时间间隔t=0.25秒。本文共定义38个MFrag,涉及飞机、物资转运车、物资挂载车、调运车、调运员、物资、直升机等13 类实体(所有MFrag 见附件)。在各类保障作业中随机选择80%用于学习MFrag 概率分布,另外20%用于测试。MFrag的训练过程用时74.86 s,带约束的轨迹自动聚类平均用时9 s,保障作业识别平均用时9.66 s。
图10 数据集内保障作业检测的AP
5.3 时间间隔取值评估
为了评估时间间隔t对保障作业检测效果与效率的影响,对比了t由0.04 s变化至5 s过程中保障作业检测的mAP(图11)及保障作业识别步骤的执行时间(图12)。由图11可知,在小于0.25或大于3.1的情况下,时间间隔的变化对mAP几乎无影响;而介于0.25与3.1之间时,mAP 会随时间间隔的增大而下降。观察图12 可知,随时间间隔增大,保障作业识别所需时间不断降低,这是因为时间间隔越大大,截取的时间点越少,构造的SSBN个数及其推断次数更少。
图11 不同时间间隔下舰面保障作业检测mAP
5.4 基于MEBN的保障作业识别算法性能分析
为了分析基于MEBN的保障作业识别算法的性能,基于大型舰船舰面监控视频数据集,计算了保障作业类型识别的准确率(图13)与Averaged Precision-Reacll 曲线(图14)。准确率Accuracy=(TP+TN)N,其中TP、TN分别为判定预测正确的正样本数与判定正确的负样本数,N为样本总数。Accuracy是衡量作业类型识别准确性的指标,值越大表明针对该类作业的识别性能越好。观察图13可知,对于较简单的保障作业,如操作员调运(OM),保障作业识别的准确率很高。对较复杂的保障作业,如调运员指挥调运车调运飞机(OTTP),保障作业参与者多,聚类内轨迹条数较多,保障作业类型更加复杂,检测的准确率较低。
图12 不同时间间隔下保障作业识别步骤运行时间
图13 保障作业识别算法的Accruacy
图14 保障作业识别算法的Averaged Precsion-Recall曲线
5.5 LCVEQ算法性能分析
LCVEQ 算法的目标函数是传统k-means 算法的目标函数增加惩罚违反约束(ML约束与CL约束)的项,违反ML约束的能量耗费为(ML约束中)未归入当前聚类的点与当前聚类中心间距,违反CL 约束的能量耗费为(CL 约束中)远离其聚类中心的点与当前聚类中心间距。在该目标函数的指导下,当前聚类中心的更新方法为:若当前聚类违反了ML约束(ML约束中仅一个点归入当前聚类),则将聚类中心移向未归入当前聚类的点(使得下次迭代时,将ML 约束的两个点归入同一聚类);若当前聚类违反了CL约束(CL约束的两点归入同一聚类且远离该聚类中心的点距离最近的聚类是当前聚类),则将当前聚类中心移向远离其聚类中心的点(使得下次迭代时,将该点归入当前聚类,以使CL约束的两点归入不同聚类)。LCVQE 的优势有两方面:(1)约束对称,即聚类中心基于构成约束的两个点做调整(而不是仅针对约束中一点);(2)时间复杂度较低(针对聚类个数的线性时间)。为了评估LCVQE 寻找最佳聚类的准确性,与传统k-means,CVQE做了对比(见图15)。准确性指标[43]为聚类个数,ni为第i个聚类中被正确聚类的样本个数,N为样本总数。观察图15 可知,相对传统的k-means 聚类,LCVEQ 考虑到了CL约束,取得了更高的准确率。如图16的场景下,两飞机的轨迹几乎相同且间隔较短,k-means将两飞机聚至同一类,但LCVQE 考虑到“两飞机不可于同一聚类”的约束,从而得到正确的聚类。CVQE 也考虑到了约束,但其仅通过惩罚聚类中心来实现CL 约束,而未考虑到CL约束的对称性,相对LCVQE获得较低的准确率。
图15 不同聚类算法的聚类结果准确率
图16 某舰面保障作业场景的轨迹示意图
5.6 遗传算法框架有效性分析
本文采用的遗传算法框架,根据进化群体聚类个数的一致性(具相同聚类个数的个体在群体中的占比)分成两个阶段:在第一阶段,一致性较低,侧重于比较不同聚类个数的优劣,以搜索最佳聚类个数;在第二阶段,一致性较高,聚焦于比较不同聚类方式的优劣,以寻找最佳分割方式。相应地,在两个阶段,采用不同的选择、交叉与变异操作。对选择操作,在第一阶段,视具有相同聚类个数的个体为同一类,具有相同的选择概率,随着一致性上升,个数最多的同类个体选择概率上升,在一致性达到极值时,个数最多的同类个体选择概率会逐渐下降,使群体内个体保持多样性,避免过早收敛;在第二阶段,具有更高适应度的个体具更高选择概率。交叉操作的第一阶段用于搜索最佳聚类个数,所以只在具有相同聚类个数的个体间进行;第二阶段,重在寻找最佳聚类方式,随机取两个体以固定概率进行单点交叉操作。对变异操作,在第一阶段,只变异聚类个数,各个体的变异概率相同且变异概率随一致性升高而降低;在第二阶段,变异操作用于产生新的聚类中心,变异概率与个体适应度呈反比。为了分析本文遗传算法框架搜索最佳聚类个数与最佳分割方式的有效性,对比了四种聚类算法的聚类个数正确率与分割方式准确性:(1)本文聚类算法(Ours);(2)经典遗传算法和LCVQE混合聚类算法(GAL);(3)粒子群和LCVQE 混合聚类算法(PSOL);(4)人工蜂群和LCVQE 混合聚类算法(ABCL)。除了本文聚类算法,其他三类算法都是同步进化聚类个数与分割方式。聚类个数正确率RCN=NcorrectNtotal(Ncorrect为聚类个数正确的次数,Ntotal为算法运行总次数)。分割方式准确性指标为Rand Index(RI)[33]。RI值代表两聚类结果的相似性,RI值为1 表明两聚类结果完全相同,RI值为0 表明两聚类结果完全不同。各算法在大型舰船舰面保障作业数据集上运行100次,取各次均值为RI 值。四种算法的聚类个数正确率如图17,分割方式准确性如图18。
图17 不同聚类算法聚类个数正确率
图18 不同聚类算法聚类结果准确率
5.7 与现有聚类算法对比
本文方法中,带约束的轨迹自动聚类的结果直接影响保障作业检测的效果。为此,将本文聚类算法(Ours)与如下四种聚类算法做对比。
(1)其他带约束的自动聚类算法:本文的遗传算法框架结合Constrained Vector Quantization Error(GACVQE)聚类算法[28]。
(2)不带约束的自动聚类算法:TGCA聚类算法[23]。
(3)带约束的非自动聚类算法:Constrained Vector Quantization Error(CVQE)[28]。
(4)不带约束的非自动聚类算法:k-means聚类算法。
非自动聚类算法(CVQE与k-means)的聚类个数在区间[1,n](n为视频场景内轨迹个数)内随机选择。采用RI衡量聚类结果的准确性(图19),RCN衡量聚类结果的正确率(图20)。在视频数据集上运行算法100次,取各次RI的平均值。Ours与GACVQE聚类过程中考虑到了保障作业约束,取得了更高的RI值。相对GACVQE,Ours采用的LCVQE克服了约束对象间顺序等对聚类影响的问题,取得最高RI值。四种聚类算法的事件检测mAP如图21所示。
图19 不同聚类算法聚类结果的准确率
图20 不同聚类算法聚类个数的正确率
图21 不同聚类算法的mAP
5.8 与现有事件检测技术对比
为了评估本文事件检测技术的性能,基于大型舰船舰面监控视频数据集,对比了如下五种事件检测技术:
(1)本文提出的事件检测技术(Ours)。
(2)基于多尺度时间卷积核,利用Timeception卷积层,检测复杂事件[34](Timeception)。
(3)提出一种迭代方法,在子事件的视频特征描述与子事件的时间结构间迭代。检测由若干子事件构成的复杂事件[35](Unsupervised)。
(4)基于一种分层的时间卷积过滤器,分别定义了针对长时长(Encoder-Decoder TCN)与短时长(Dilated TCN)的事件检测器[36](TCN)。
(5)训练一个skip-gram语言模型,得到概念(例如,与过生日事件最相关的概念包括蜡烛、唱歌、很多人等)与各目标事件的相关度。在事件检测过程中,将在视频中找到的概念及其相关度一起,采用谱元学习器(Spectral Meta-Learner)用于目标事件检测[37](SES)。
各方法的mAP 如图22 所示,Accuracy 对比结果如图23所示。本文方法取得了最高mAP与Accuracy。舰面监控视频内往往存在同一视频场景内保障作业并发且参与者位置交叉的情况,Ours 先对场景轨迹做聚类,然后识别各聚类内的保障作业;而另外四种方法假设整个场景只发生一个保障作业,影响了检测结果的mAP与Accuracy。
图22 事件检测技术的mAP对比结果
图23 事件检测技术的Accuracy对比结果
6 结束语
针对大型舰船舰面保障作业检测问题中同一视频场景内保障作业并发且参与者位置交叉、重叠的难点,本文提出一种基于多实体贝叶斯网络的大型舰船舰面保障作业检测技术。在视频数据预处理阶段,输入舰面监控视频,采用多目标跟踪算法提取目标物轨迹并人工后处理,获得清晰连贯的轨迹。在保障作业检测阶段,输入目标物运动轨迹,先基于带约束的轨迹自动聚类算法,将场景内参与同一保障作业的轨迹聚至同一类;再采用基于多实体贝叶斯网络的保障作业识别算法,识别各聚类内保障作业类型,最终检测得到整个视频场景内保障作业。
6.1 应用
本文方法可用于检测保障作业规范性,保障作业规范性指保障作业的实际操作与规定操作的符合程度。例如,按规定,飞机滑跑时,任何操作员、车辆、飞机不得位于该飞机前部区域。本文方法检测到飞机滑跑时,则按滑跑方向检测飞机前部区域是否存在操作员、车辆及飞机,若存在,则提出警告。
6.2 局限及未来的工作
本文的轨迹修剪技术不够鲁棒,在轨迹较多且密集的情况下得不到满意的结果,开发更鲁棒的轨迹修剪技术是下一步的研究工作。本文的MEBN 仅针对十几种保障作业设计,大型舰船舰面保障作业上百种,需进一步完善使可检测更多保障作业。本文的参数选择方法比较初步,今后打算研究更完善的参数选择方法。初始种群的质量会影响遗传算法的收敛速度与解质量。初始种群随机采样法的原理是生成均匀分布于解空间的种子点,从而覆盖到全局最优解所在区域[38]。然而本文方法初始种群数量有限,涵盖到最优解所在区域的概率会相应降低,实际运行中会以一定概率收敛至局部最优。混沌映射确保了随机性与遍历性,可更好地对解空间采样,下一步打算采用混沌映射手段[39]或自动确定聚类中心及数目技术[40-41]替代随机采样,以提高收敛速度与聚类质量。此外,基于宋飞豹等[42]提出的精英遗传k-medoids聚类技术解决大型舰船舰面保障作业检测问题,也是未来的工作之一。