基于多目标测试用例生成的通行控制算法测试装置与方法转让专利

申请号 : CN201210071191.1

文献号 : CN102663164B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 闫丹凤宋大伟胡平黄俊霖

申请人 : 北京邮电大学

摘要 :

一种基于动态多目标测试用例生成的通行控制算法仿真测试装置与测试方法,该装置基于视频生成闸机的通行样本库,将乘客通行闸机的视频作为输入,采用视频和图像处理技术,模拟乘客通过闸机期间的传感器数值序列;并提取乘客通行特征,根据不同特征为通行模式创建纪录;再使用基于动态多目标评价函数的选择算法为测试用例挑选通行模式,最后将选出的通行模式进行拼接生成测试用例;该装置从底向上设有顺序连接的数据存储层、数据采集层、测试层和结果展示层四层架构。本发明装置采用层次化和模块化结构,能够方便、灵活、智能地提供仿真测试功能,利用测试数据和测试中添加的标签判断仿真结果,提供图形化交互界面,方便用户操作和展示结果。

权利要求 :

1.一种基于动态多目标测试用例生成的通行控制算法仿真测试装置,其特征在于:所述装置是基于视频生成闸机的通行样本库,将乘客通行闸机的视频作为输入,采用视频和图像处理技术,模拟乘客通过闸机期间的传感器数值序列;并提取乘客通行过程中的特征,根据不同特征为通行模式创建纪录;再使用基于动态多目标评价函数的选择算法为测试用例挑选通行模式,最后将选择出的通行模式进行拼接生成测试用例;该装置设有从底向上顺序连接、且底层向上层提供服务的数据存储层、数据采集层、测试层和结果展示层四层架构的模块,其中:数据存储层,设有分别存储仿真测试中所需各种数据的五个数据库:存储采集到的乘客通行闸机的视频的通行样本库,存储闸机从各段视频中采集的传感器通行数据的标准通行模式库,存储与各种通行方式对应的检测规则的判定规则库,存储全部待测通行控制算法的通行算法库,存储闸机各种外壳形状与对射传感器分布状况的硬件方案库;

数据采集层,设有负责处理视频数据和对数据存储层的不同数据提供操作接口的七个模块:负责生成和调整闸机外壳及其通道两侧外壳上的对射传感器参数和分布的模拟硬件设置模块,负责采样和处理视频数据的视频处理模块,以及分别与数据存储层中通行样本库、通行算法库、判定规则库、标准通行模式库和硬件方案库的操作接口对应的通行样本,通行算法,判定规则,标准通行模式和硬件方案的五个管理模块,以便通过这些接口对相应数据库进行包括增删改的编辑和检索操作,以使这些功能能够被该装置的控制界面或各层其他模块所调用,检索和读取相关数据;

测试层,作为该装置控制核心,用于创建并执行测试过程;设有六个模块:用于管理仿真测试时间、以使藉由模拟时钟控制仿真过程的模拟时钟管理模块,模拟闸机中的闸门、蜂鸣器与警示灯、以便实时读取硬件状态并根据状态作出相应反应的模拟硬件管理模块,读取和选择数据存储层的数据,将各测试通行样本进行定制和连接,并在连接中添加能够提高数据可读性和为分析测试结果提供数据标注的测试标签,以便根据用户需求组装生成相应测试用例的定制测试用例模块,用于选择测试算法的定制测试算法模块,管理整个测试过程的整个流程的算法测试模块,以及负责对算法测试模块执行完毕所生成的测试结果和文件进行检验与判断的结果分析模块;

展示层,设有结果展示模块,负责整理测试结果并通过交互界面展示给用户。

2.根据权利要求1所述的装置,其特征在于:所述数据存储层存储的数据包括:传感器摄像头拍摄的乘客通过闸机视频的通行样本数据;通过视频采集到的标准通行模式数据;

判定规则以及由算法编写者根据其算法特点提供的用于对仿真结果进行检测判断的逻辑数据;通过windows动态链接库存储的所有需要测试的各种不同的待测通行算法。

3.根据权利要求1所述的装置,其特征在于:

所述通行样本库存储采集的、经过剪辑处理的乘客通行闸机视频:将每位乘客的通行过程分割成单独片段并删除无关帧,只保留乘客身体出现在闸机区域的视频部分,然后将各视频片段按照不同属性分别存放于不同的视频文件夹;

所述标准通行模式库存储从通行样本库中各段视频采集的传感器数据,并对该数据在标准速度上进行插值,形成一个分别对应传感器个数和时间的2维矩阵,作为标准通行模式数据,并以文本形式存储于标准通行模式库中,用作执行通行算法时的输入参数;以供算法测试过程中算法测试模块按照时间顺序依次读取每组数据,并按照设定时间间隔调用通行逻辑算法;该测试装置能够按照需求和对应不同闸机外壳和传感器的分布生成不同标准的通行模式数据;

所述判定规则库存储有分别对应不同通行方式的多种检测规则,以供完成仿真测试后,结果分析模块读取该判定规则库中的对应规则来检测通行算法的正确性;该检测规则采用表明某信号是否应该出现及其出现位置的类布尔表达式;针对不同的算法、闸机外壳和传感器分布与种类,以及包括正常、闯入、尾随与反向的不同通行方式的不同检测规则,都是用户根据具体情况进行定制的,以供分析结果时,该装置对检测规则进行解析和执行,判断结果的真假;

所述通行算法库存储所有的待测通行算法,待测通行算法在使用时要按照标准格式打包成动态链接库文件,由算法测试模块按照需要进行动态加载。

4.根据权利要求3所述的装置,其特征在于:所述标准通行模式库存储的传感器数据在标准速度上进行插值是该仿真测试装置在视频处理过程中,通过视频相邻帧的间隔时间以及乘客从遮挡最左边的传感器开始行走到达最右边的传感器所使用的图像帧数计算该乘客的实际行走速度,再使用拉格朗日插值方法进行数据插值,以使处理后的视频数据具有统一标准的乘客行走速度,然后存储于标准通行模式库;若测试用例需要定制乘客的行走速度时,该仿真测试装置从标准通行模式库中取出数据后,按照设定的行走速度进行插值处理。

5.根据权利要求1所述的装置,其特征在于:所述测试层在定制和连接测试通行样本时添加的测试标签的形式为xml类型;标签内容包括,通行样本的编号、属性、样本对应数据段的开始位置及其所包含数据帧的个数、数据段中每帧数据中各个数据位所属的样本标号。

6.根据权利要求1所述的装置,其特征在于:所述测试层中的定制测试用例模块使用动态多目标评价函数选择测试用例所需要的通行样本,再用选择出来的通行样本拼接组成测试用例;通行样本的选择过程是先从已有的通行样本库中挑选各种不同属性的通行样本与刷卡种类和通行方式进行组合而构成候选通行样本库,再根据设定的样本约束条件,从候选通行样本库中获取满足包括乘客体征、身高及人数的最终多目标约束条件或控制特征的一组通行样本数据;多目标评价函数是用于针对各个设定约束条件或控制特征为通行样本数据计算相应的量化系数或权重值,每个通行样本的总体可选度为所有目标评价函数值的乘积。

7.一种采用基于动态多目标测试用例生成的通行控制算法仿真测试装置的测试方法,其特征在于:所述方法包括下列操作步骤:

(1)测试装置的初始化设置和准备操作:用户通过仿真测试装置的交互界面设计闸机外壳形状和传感器的布局与参数,以及对测试用例的需求参数;然后该仿真测试装置中各模块进行准备操作;

(2)测试装置进行测试:算法测试模块先从测试用例中读取数据,并从该测试数据中解析传感器数据和刷卡信息;模拟时钟管理模块模拟时钟和启动测试计时,算法测试模块调用通行逻辑算法进行测试处理,然后再由模拟时钟管理模块模拟时钟的暂停,表示本次模拟测试操作结束;算法测试模块将通行逻辑算法返回的控制信号与该次运行的数据帧组合后,写入到测试结果;

(3)测试装置返回步骤(2),继续进行多次测试,直到测试用例执行完毕;

(4)算法测试模块返回测试结果,由结果分析模块对测试结果的正确性进行检验和统计,最后由装置的交互界面向用户展示测试结果。

8.根据权利要求7所述的测试方法,其特征在于:所述步骤(2)包括下述操作内容:

(21)算法测试模块获取用户的测试用例需求参数;

(22)视频处理模块读取用户设置的硬件参数,从通行样本库获取视频文件,将生成的标准通行模式数据存储于标准通行模式库;

(23)定制测试用例模块读取用户的测试用例需求参数,读取数据存储层中标准通行模式库中的乘客通行数据并进行选择,然后,定制和连接各种标准通行模式,再在连接过程中添加相应的测试标签和生成测试用例;

(24)定制测试算法模块获得待测的闸机通行控制算法,通行算法管理模块获取该待测的通行控制算法的存储路径,加载包含该通行控制算法的动态链接库,查询接口函数并进行注册;

(25)模拟时钟管理模块初始化设置模拟时钟,模拟硬件管理模块初始化设置模拟的闸门、蜂鸣器和警示灯的各种参数。

说明书 :

基于多目标测试用例生成的通行控制算法测试装置与方法

技术领域

[0001] 本发明涉及一种基于多目标测试用例生成的通行控制算法仿真测试装置及其测试方法,用于自动检票设备的闸机中不同通行过程的仿真控制与测试,属于轨道交通中的自动售检票系统技术领域。

背景技术

[0002] 城市快速交通系统的特点是层次高、持续客运量大,能够发挥公共交通的优势和有效缓解城市交通的拥堵,从而有效促进社会物质文明和精神文明的协调发展,降低交通设施对环境的污染,提高人们的工作效率,促进经济发展。
[0003] 对比其他各类交通出行方式,从能源耗费、污染程度、运能大小、运转速度和占地面积等多个指标来看:地铁和轻轨交通的特点是速度更快、效率更高、客运量更大、更加准时,而且污染小、能耗低、对环境友好,占地面积少、受气候的影响小,节约土地资源,适应范围广和适合长距离运输等。因此轨道交通符合城市规模日益膨胀、生活节奏不断加快的现代城市特点,符合国家节能减排的号召,在国家提倡低碳经济发展可持续的背景下,具有非常重要的意义。
[0004] 早先的城市轨道交通依靠人工进行检票,其缺点很多:纸质车票浪费纸张严重,检票人员的设置耗费大量人力资源,人工检票速度缓慢,且容易造成人为错误。轨道交通在城市交通中的重要性不断提高,吸纳的乘客数量不断增大,人工检票已经不能满足乘客快速通行的需要,成为轨道交通进一步发展的瓶颈。
[0005] 自动售检票系统使得从购票到刷卡、进站、出站和统计的全部环节都能够实现自动化,不仅提高了轨道交通系统的效益和效率,还减少了人工检票容易产生的错误和繁琐,简化了乘客通行手续,同时,系统信息化还能为轨道交通运营公司带来管理所需的各种统计数据,提高整个轨道交通运营的相关决策能力,为公司的决策和管理提供更迅速和便捷的信息通道,提高指令执行的效率。
[0006] 闸机是轨道交通的自动检票设备,通常设置在乘车区域的入口和出口,是轨道交通中的重要设备。闸机通过内部的通行控制算法对乘客通过闸机通道的行为进行监控和识别,对合法通过的乘客进行检票,并在非法情况下报警。闸机中的通行控制算法是闸机的控制中枢,也是闸机在设计和开发过程中要求最高的地方,通行控制算法的性能直接影响到闸机检票的正确性和工作效率。因此,闸机的通行控制算法也成为轨道交通研究中的重点。
[0007] 由于行业特点,闸机通行控制算法的研究和开发工作主要由与该行业相关厂家担任。由于国外的企业在轨道交通领域起步较早,因此,中国目前的地铁系统中使用的闸机设备主要是国外厂商的产品,闸机中的相关软件也被这些厂商所控制。中国在该行业的研究和开发时间较晚,与国外产品相比较,还有一定差距,当前的闸机通行控制算法还有很大的发展空间,有很多亟需解决的问题。例如,通行速度较快时,闸机很难保证足够的识别率;也不能够准确识别所有的非法通行情况;目前通行控制算法的识别技术比较简单,需要随着科技的发展进行更新;由于目前应用的产品被国外厂商控制,价格和维修成本都比较高。因此,对闸机设备的软硬件和通行控制算法开展研究就非常必要和急需。
[0008] 由于闸机设备的自身特点,通行控制逻辑的开发和测试具有一定的复杂性和难度。因为乘客通过闸机的行为各不相同,可能存在各种合法和违规情况,通行控制逻辑必须能够准确识别各种行为,并向硬件设备发送适宜的指令。闸机本身也有多种工作模式,这都要求通行控制逻辑在各种模式下都能够正常工作。为了应对乘客高峰期时的通行需求,通行控制逻辑必须在很短时间内执行完毕,并给出正确判断,由于闸机提供的计算能力和存储资源都有限,这就要求通行控制逻辑具有很高的效率。通行控制逻辑以嵌入式软件形式工作,其输入和输出均来自硬件设备(如传感器),这样硬件设备的工作能力、操作精度及其布局都会直接影响通行控制逻辑的执行效果,这也相应提高了测试技术的复杂度和难度。
[0009] 现有的检票设备通行控制软件技术的开发和测试还是比较简单的:单独编写控制软件逻辑后,再到实体机器上进行验证,如此反复进行。但是,这种方式的后果是:工作效率低、耗时长、占用大量的人工时间、造成巨大的物力与人力浪费。每次测试都需科技人员直接参与,而且很难保证每次重复试验的所有指标或数据都是相同的,无法一次性进行批量测试。再者,硬件的每次改变也给开发和测试带来巨大的工作量。

发明内容

[0010] 有鉴于此,本发明的目的是提供一种基于多目标测试用例生成的通行控制算法仿真测试装置及其测试方法。本发明仿真测试装置是面向通行控制算法的,其具有模拟闸机外壳、模拟传感器、模拟乘客的不同通行情况、统计和展示通行控制算法的仿真测试结果等多种功能,并能按照用户要求生成不同的测试用例,为控制软件的测试提供指导。本发明可以为闸机识别系统的设计人员提供仿真实验场景,以便分析测试结果数据,从而极大地提高工作效率和节约资源。
[0011] 为了达到上述发明目的,本发明提供了一种基于动态多目标测试用例生成的通行控制算法仿真测试装置,其特征在于:所述装置是基于视频生成闸机的通行样本库,将乘客通行闸机的视频作为输入,采用视频和图像处理技术,模拟乘客通过闸机期间的传感器数值序列;并提取乘客通行过程中的特征,根据不同特征为通行模式创建纪录;再使用基于动态多目标评价函数的选择算法为测试用例挑选通行模式,最后将选择出的通行模式进行拼接生成测试用例;该装置设有从底向上顺序连接、且底层向上层提供服务的数据存储层、数据采集层、测试层和结果展示层四层架构的模块,其中:
[0012] 数据存储层,设有分别存储仿真测试中所需各种数据的五个数据库:存储采集到的乘客通行闸机的视频的通行样本库,存储闸机从各段视频中采集的传感器通行数据的标准通行模式库,存储与各种通行方式对应的检测规则的判定规则库,存储全部待测通行控制算法的通行算法库,存储闸机各种外壳形状与对射传感器分布状况的硬件方案库;
[0013] 数据采集层,设有负责处理视频数据和对数据存储层的不同数据提供操作接口的七个模块:负责生成和调整闸机外壳及其通道两侧外壳上的对射传感器参数和分布的模拟硬件设置模块,负责采样和处理视频数据的视频处理模块,以及分别与数据存储层中通行样本库、通行算法库、判定规则库、标准通行模式库和硬件方案库的操作接口对应的通行样本,通行算法,判定规则,标准通行模式和硬件方案的五个管理模块,以便通过这些接口对相应数据库进行包括增删改的编辑和检索操作,以使这些功能能够被该装置的控制界面或各层其他模块所调用,检索和读取相关数据;
[0014] 测试层,作为该装置控制核心,用于创建并执行测试过程;设有六个模块:用于管理仿真测试时间、以使藉由模拟时钟控制仿真过程的模拟时钟管理模块,模拟闸机中的闸门、蜂鸣器与警示灯、以便实时读取硬件状态并根据状态作出相应反应的模拟硬件管理模块,读取和选择数据存储层的数据,将各测试通行样本进行定制和连接,并在连接中添加能够提高数据可读性和为分析测试结果提供数据标注的测试标签,以便根据用户需求组装生成相应测试用例的定制测试用例模块,用于选择测试算法的定制测试算法模块,管理整个测试过程的整个流程的算法测试模块,以及负责对算法测试模块执行完毕所生成的测试结果和文件进行检验与判断的结果分析模块;
[0015] 展示层,设有结果展示模块,负责整理测试结果并通过交互界面展示给用户。
[0016] 为了达到上述发明目的,本发明还提供了一种采用基于动态多目标测试用例生成的通行控制算法仿真测试装置的测试方法,其特征在于:所述方法包括下列操作步骤:
[0017] (1)测试装置的初始化设置和准备操作:用户通过仿真测试装置的交互界面设计闸机外壳形状和传感器的布局与参数,以及对测试用例的需求参数;然后该仿真测试装置中各模块进行准备操作;
[0018] (2)测试装置进行测试:算法测试模块先从测试用例中读取数据,并从该测试数据中解析传感器数据和刷卡信息;模拟时钟管理模块模拟时钟和启动测试计时,算法测试模块调用通行逻辑算法进行测试处理,然后再由模拟时钟管理模块模拟时钟的暂停,表示本次模拟测试操作结束;算法测试模块将通行逻辑算法返回的控制信号与该次运行的数据帧组合后,写入到测试结果;
[0019] (3)测试装置返回步骤(2),继续进行多次测试,直到测试用例执行完毕;
[0020] (4)算法测试模块返回测试结果,由结果分析模块对测试结果的正确性进行检验和统计,最后由装置的交互界面向用户展示测试结果。
[0021] 本发明基于动态多目标测试用例的通行控制的仿真测试装置及其测试方法的创新技术是:该装置通过视频处理获得闸机通行的仿真数据,并模拟闸机硬件来实现仿真测试过程中不同通行控制算法与闸机进行交互,能够灵活应对仿真测试中变化的不同要求和条件,并通过引入标准通行样本的和生成基于多目标评价函数的测试用例,为通行控制算法的开发人员定制复杂的多种测试用例,以便能够更好地模拟实际场景中乘客通行的不同情况,为轨道交通中闸机通行控制算法的开发研究提供仿真测试环境,以及提供仿真测试和结果分析的服务。另外,该装置通过视频处理并对测试用例数据加注标签,有效支持测试结果的自动分析,从而显著提高其工作效率。
[0022] 本发明仿真测试装置的创新结构特点是:采用层次化和模块化结构,将数据的存储、处理和控制进行合理划分,保证正确执行数据流和控制流,采用统一的适配接口来屏蔽下层数据库的操作,以增强整个装置的扩展能力,使得该装置能够更加方便、灵活、智能地提供仿真测试功能。该装置还能针对不同的闸机外壳、传感器布局和通行控制算法进行高效仿真,利用测试数据和仿真测试过程中添加的标签对仿真结果进行判断,提供完整的图形化交互界面,方便用户操作和展示结果。总之,本发明会在轨道交通领域的闸机开发领域中具有很好的推广应用前景。

附图说明

[0023] 图1是本发明基于多目标测试用例生成的通行控制算法仿真测试装置结构组成示意图。
[0024] 图2是本发明装置中的标准通行模式生成流程图。
[0025] 图3是本发明装置中的测试用例生成流程图。
[0026] 图4是本发明基于多目标测试用例生成的通行控制算法仿真测试装置的仿真测试操作流程图。

具体实施方式

[0027] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
[0028] 本发明基于动态多目标测试用例生成的通行控制算法仿真测试装置是基于视频生成闸机的通行样本库,将乘客通行闸机的视频作为输入,采用视频和图像处理技术,模拟乘客通过闸机期间并提取乘客通行过程中的特征,根据不同特征为通行模式创建纪录;再使用基于动态多目标评价函数的选择算法为测试用例挑选通行模式,最后将选择出的通行模式进行拼接生成测试用例。本发明装置能够模拟闸机运行的全部过程,包括底层数据的生成、采集与整理,对通行算法的调用和分析和展示算法的运行结果。该装置通过模拟闸机硬件(扇门、蜂鸣器,警示灯)和时钟,能尽可能地为通行算法提供与真实场景相同的执行环境,从而提高该测试装置的测试结果的可信度,增加其实用价值。
[0029] 参见图1,介绍该仿真测试装置的总体组成结构:设有从底向上顺序连接、且底层向上层提供服务的数据存储层、数据采集层、测试层和结果展示层四层架构的模块,其中:
[0030] 数据存储层,设有分别存储仿真测试中所需各种数据的五个数据库:存储采集到的乘客通行闸机的视频的通行样本库;存储闸机从各段视频中采集的传感器通行数据的标准通行模式库;存储与各种通行方式对应的检测规则的判定规则库,存储全部待测通行控制算法的通行算法库,存储闸机各种外壳形状与对射传感器分布状况的硬件方案库。其中存储的数据包括:传感器摄像头拍摄的乘客通过闸机视频的通行样本数据;通过视频采集到的标准通行模式数据;判定规则以及由算法编写者根据其算法特点提供的用于对仿真结果进行检测判断的逻辑数据;通过windows动态链接库存储的所有需要测试的各种不同的待测通行算法。下面分别具体介绍五个数据库的功能:
[0031] 通行样本库:存储采集的、经过剪辑处理的乘客通行闸机视频:将每位乘客的通行过程分割成单独片段并删除无关帧,只保留乘客身体出现在闸机区域的视频部分,然后将各视频片段按照不同属性分别存放于不同的视频文件夹。
[0032] 标准通行模式库:存储从通行样本库中各段视频采集的传感器数据,并对该数据在标准速度上进行插值处理,形成一个分别对应传感器个数和时间的2维矩阵,作为标准通行模式数据,并以文本形式存储于标准通行模式库中,用作执行通行算法时的输入参数;以供算法测试过程中,算法测试模块按照时间顺序依次读取每组数据,并按照设定时间间隔调用通行逻辑算法。该装置能按照需求和对应不同闸机外壳和传感器的分布生成不同标准的通行模式数据。标准通行模式库中存储的传感器数据在标准速度上进行插值是:该装置在进行视频处理时,通过视频相邻帧的间隔时间以及乘客从遮挡最左边的传感器开始行走到达最右边的传感器所使用的图像帧数计算乘客的实际行走速度,再使用拉格朗日插值方法进行数据插值,以使处理后的视频数据具有统一标准的乘客行走速度,然后才存储于标准通行模式库。若测试用例需要定制乘客的行走速度时,该装置从标准通行模式库中取出数据后,按照设定的行走速度进行插值。
[0033] 判定规则库:用于存储分别对应不同通行方式的多种检测规则,以供完成仿真测试后,结果分析模块读取该判定规则库中的对应规则来检测通行算法的正确性。该检测规则采用表明某信号是否应该出现及其出现位置的类布尔表达式;针对不同的算法、闸机外壳和传感器分布与种类,以及包括正常、闯入、尾随与反向的不同通行方式的不同检测规则,都是用户根据具体情况进行定制的,以供分析结果时,该装置对检测规则进行解析和执行时,判断结果的真假;该装置还提供一些接口供检测规则使用,例如:判断数据所对应的闸机通道各区是否被遮挡。
[0034] 通行算法库:存储所有的待测通行算法,待测通行算法在使用时要按照标准格式打包成动态链接库文件,由算法测试模块按照需要进行动态加载。
[0035] 硬件方案库:存储已有的各种硬件方案,包括两部分:与一个多边形相对应的闸机外壳形状,以及视频传感器的种类、布局或位置信息。
[0036] 数据采集层,负责先按照闸机外壳和传感器的分布情况从视频的各帧图像中获取视频数据并对其进行处理,并通过该层的数据库操作接口将生成的标准通行模式存入标准通行模式数据库。设有负责处理视频数据和对数据存储层的不同数据提供操作接口的七个模块:负责生成和调整闸机外壳及其通道两侧外壳上的对射传感器参数和分布的模拟硬件设置模块,负责采样和处理视频数据的视频处理模块,以及分别与数据存储层中通行样本库、通行算法库、判定规则库、标准通行模式库和硬件方案库的操作接口对应的通行样本,通行算法,判定规则,标准通行模式和硬件方案的五个管理模块,以便通过这些接口对相应数据库进行包括增删改的编辑和检索操作,以使这些功能能够被该装置的控制界面或各层其他模块所调用,检索和读取相关数据。
[0037] 测试层,作为该装置控制核心,用于创建并动态执行测试过程;设有七个模块:用于管理仿真测试时间、以使藉由模拟时钟控制仿真过程的模拟时钟管理模块(因闸机通行算法与时间密切相关,通行算法内的多个事件都由时间触发的,模拟时钟功能可以对闸机运行过程中的时间进行抽象,使整个装置运行过程中计算机分配的实际时间不会影响闸机的模拟仿真过程;该模块通过模拟时钟控制仿真过程中执行的事件,能对时钟进行启动、暂停和快进操作),模拟闸机中的闸门、蜂鸣器与警示灯、以便实时读取硬件状态并根据状态作出相应反应的模拟硬件管理模块,读取和选择数据存储层的数据,将各测试通行样本进行定制和连接,并在连接中添加能够提高数据可读性和为分析测试结果提供数据标注的测试标签,以便根据用户需求组装生成相应测试用例的定制测试用例模块,用于选择测试算法的定制测试算法模块,管理整个测试过程的整个流程:先按照顺序设置模拟时钟和各个模拟硬件,读取用户的各项测试要求,然后定制测试用例的和选择测试算法,最后进行算法的仿真测试并生成测试结果的算法测试模块,以及负责对算法测试模块执行完毕所生成的测试结果和文件进行检验与判断的结果分析模块(具体操作是:读入算法测试模块完成测试后输出的结果数据,针对结果数据中每段样本验证结果,获得整个测试用例的测试效果数据;分析过程是读取每段通行样本包括所有标签信息的完整数据,获得通行样本的通行行为,获得判定规则比并按照规则进行解析并执行)。
[0038] 测试层在定制和连接测试通行样本时添加的测试标签的形式为xml类型;标签内容包括,通行样本的编号、属性、样本对应数据段的开始位置及其所包含数据帧的个数、数据段中每帧数据中各个数据位所属的样本标号。测试层中的定制测试用例模块使用动态多目标评价函数选择测试用例所需要的通行样本,再用选择出来的通行样本拼接组成测试用例;通行样本的选择过程是:先从已有的通行样本库中挑选各种不同属性的通行样本与刷卡种类和通行方式进行组合而构成候选通行样本库,再根据设定的样本约束条件,从候选通行样本库中获取满足包括乘客体征、身高及人数的最终多目标约束条件或控制特征的一组通行样本数据;多目标评价函数是用于针对各个设定约束条件或控制特征为通行样本数据计算相应的量化系数或权重值,每个通行样本的总体可选度为所有目标评价函数值的乘积。
[0039] 展示层,设有结果展示模块,负责整理测试结果并通过交互界面展示给用户。
[0040] 本发明测试装置采用基于视频模式生成通行样本库,将乘客通行视频作为输入,通过视频和图像处理技术,准确模拟乘客通过闸机期间的传感器值序列;再提取乘客通行过程中的特征,根据不同特征为通行模式创建纪录;还使用基于动态多目标评价函数的选择算法为测试用例挑选通行模式,最终将选择出的通行模式进行拼接生成测试用例。
[0041] 本发明测试装置从图像中采集乘客通行数据。记录乘客通行情况的视频是由连续多个帧所组成,每帧图像的宽度width和高度height都相同(以像素数量为单位),记录乘客某个瞬间的位置和姿势,通过区别和对比乘客衣服和背景的颜色,视频处理模块自动地识别每个像素是属于乘客身体还是背景,再根据传感器所在位置区域的像素值确定该传感器在当前时刻的遮挡情况。视频处理内容是:读取视频并从视频中获得所有的图像帧,再将图像进行缓存和读取每帧图像,依次判断每个传感器区域是否被遮挡,生成对应某一时刻的传感器数据,然后将获得的所有传感器数据组合成矩阵格式,按照标准速度对数据进行插值处理,将生成的标准通行模式数据存入数据库。
[0042] 本发明装置判断模拟红外传感器是否被遮挡的方法是:将模拟红外传感器像素集合内每个像素点的RGB值分别与背景像素点的RGB平均值进行比较,若某一模拟传感器像素集合内RGB值小于背景像素RGB平均值的像素点比例达到阈值,则判断该传感器被遮挡,否则,判断该传感器未被遮挡。
[0043] 通过判断多个(如M个)模拟传感器,视频的每帧bmp位图都将产生一组传感器状态数据d(即包括M个状态),再对设定时间段视频中的所有图像帧依次进行处理,就可获得对应该段视频的通行数据D={di|0≤i<视频的帧数}。本发明测试装置通过对通行数据进行插值来获得标准化的通行数据。
[0044] 视频处理过程中,相邻帧间的时间间隔为e,该视频中乘客的行走速度是通过测量乘客从遮挡最左边的传感器到行走过程中到达最右边的传感器所使用的图像帧数Nf来计算的。例如,设两个传感器在闸机外壳上的距离为S,则乘客行走速度 视频处理模块还会将乘客的行走速度插值成标准速度,从而方便测试用例的定制。例如,设调整后的速度为V',使用拉格朗日插值方法进行数据的插值操作,则插值后的数据为其中 最终获得的新数据为: 其中,
[0045] 本发明装置根据乘客的通行特征对通行样本数据进行分类和存储;乘客通行闸机过程的特征包括:乘客的身体特征:F={正常,胖,瘦},身高H={正常,高,矮},通行速度Vw,携带行李状况L={无物品,背包,手提箱,手推旅行箱,手拉旅行箱,其他},与后面乘客的行走间距Gap(cm)、刷卡种类Auth={无刷卡,进入通道前刷卡,进入通道后刷卡},因进入通道后必须在走至扇门以前刷卡,刷卡位置不同可能造成通行逻辑的不同操作,获得不同的输出结果;通行方式W={正常,闯入,尾随,反向},通行方向D={A B,B A},通行结果R={成功通过,中途返回},成功通过是乘客顺利进入闸机的一端并从另一端离开,中途返回是乘客从一端进入后、行走至扇门之前的某个位置,又从原路返回而从进入端离开。因此,控制指标为C(A’)={C1(F),C2(H),C3(L),C4(D),C5(W),C6(R)},其中,C1(F)={c1(fi)|fi为身体特征,c1(fi)为该身体特征在结果集合中需要的个数}(身体特征包括:{正常,胖,瘦});
[0046] C2(H)={c2(hi)|hi为身高特征,c2(hi)为这种身高在结果集合中需要的个数}(身高属性包括:{正常,高,矮});
[0047] C3(L)={c3(li)|li为行李特征,c3(li)为这种行李在结果集合中需要的个数},其中的行李属性包括:{无物品,背包,手提箱,手推旅行箱,手拉旅行箱,其他};
[0048] C4(Auth)={c4(authi)|authi为刷卡特征,c4(authi)为这种刷卡种类在结果集合中需要的个数},其中的数卡属性包括:{无刷卡,进入通道前刷卡,进入通道后刷卡};
[0049] C5(W)={c5(wi)|wi为通行方式特征,c5(wi)为该同性方式在结果集合中需要的个数},其中的通行方式属性包括:{正常,闯入,尾随,反向};
[0050] C6(D)={c6(di)|di为方向特征,c6(di)为该通行方向在结果集合中需要的个数},其中的通行方向属性包括:{A→B,B→A};
[0051] C7(R)={c7(ri)|ri为通行结果特征,c7(ri)为该同性方式在结果集合中需要的个数},其中的通行方式属性包括:{成功通过,中途返回};
[0052] 本发明装置的仿真测试使用VC++和OPENCV软件的结合作为该装置的开发工具,OPENCV是一个基于BSD许可证授权发行的跨平台计算机视觉库,可以运行于多种操作,该库轻量级且高效,能够实现图像处理和计算机视觉方面的许多通用算法。
[0053] 视频选择的操作步骤与现有技术相同。故简要介绍其操作步骤如下:
[0054] 假设现有k个样本,按照顺序分别设置为t1,t2...tk,k≥O:
[0055] (1)调用选择算法,获得候选样本t;该步骤包括下列操作内容:
[0056] (11)对候选样本库中的所有可选样本,分别计算其各个评价函数值与可选度函数值;
[0057] (12)若所有样本的可选度值均为0,则样本选择失败,没有符合用户要求的解,算法结束;否则,顺序执行后续步骤(13);
[0058] (13)按照可选度函数值大小对样本进行排序,选取其中可选度函数值最高、且没有暂缓使用标记的前n个样本;
[0059] (14)选择随机数q,1≤q≤n;选择并获得第q个样本。
[0060] (2)若选择算法执行成功,则将t加入结果集,令k=k+1,顺序执行后续步骤(3);若选择算法未执行成功,则在结果集中删除上一个被选择的样本tk,并对tk设置暂缓使用标记,令k=k-1,算法回溯,也就是算法重新选择第k个样本。再判断此时得到的k是否为负数,若是,则不能生成结果集,算法结束,只有该K≥0时,才执行后续步骤(3);
[0061] (3)按照规则对算法中添加的标记进行清理;
[0062] (4)若当前选择的样本数量未达到目标值,则返回执行步骤(1);否则完成结果集选择操作。
[0063] 在定制测试用例过程中,本发明装置依次确定相邻两段通行样本的连接点;先为生成的测试用例添加标签,提高数据可读性,并为测试结果的分析提供数据标注。标签形式为xml类型;标签内容包括:通行样本的编号、属性、样本对应数据段的开始位置和字长、数据段中一帧数据中各个数据所属的样本标号。
[0064] 举例说明两段通行样本的连接点的确定方法为:令A、B为两段通行样本,采样获得的数据分别为BA={a1,a2...am}、BB={b1,b2...bn},B与A在j处的连接AB为{c1,c2...cj+n},如果jm: j为B与A连接的连接点。
[0065] 参见图2,介绍本发明装置标准通行模式生成方法的操作流程的下列步骤:
[0066] (1)从通行样本库中取出视频;
[0067] (2)读取一帧视频并生成图像,再将图像存储于图像缓存;
[0068] (3)读取传感器分布情况,获得一帧传感器数值;
[0069] (4)判断是否处理完该视频的所有帧,若是,则执行步骤(7);否则返回执行步骤(2);
[0070] (5)对传感器数据按照标准速度进行插值处理;
[0071] (6)从通行样本库中读取对应视频的属性,再与数据一起存储于标准通行模式数据库。
[0072] 参见图3,介绍本发明装置的生成测试用例的操作流程,在测试用例的生成过程中,通行样本中的通行数据被推迟到被连接时才从标准通行模式数据库中读入,并进行插值处理。在该过程之前,可能有多个通行样本的数据都指向标准通行模式数据库的同一个条目,动态多目标评价函数在样本选择过程只针对样本的多个属性进行调整,其操作步骤如下:
[0073] (1)从标准通行模式数据库中读取不同模式的各项属性;
[0074] (2)将读取的不同属性组与刷卡种类和通行方式进行组合获得候选样本库;
[0075] (3)运行基于动态多目标评价函数的通行样本选择策略选择一组通行样本;
[0076] (4)为每个通行样本添加新的运行速度和行走间距属性;
[0077] (5)随机选择一个样本,读取通行数据;
[0078] (6)根据获取到的新的通行速度对通行数据进行插值处理;
[0079] (7)读取连接规则,确定连接点位置;
[0080] (8)将该样本的各项属性写入测试用例的标签;
[0081] (9)连接通行样本;
[0082] (10)添加每一个数据帧的标签;
[0083] (11)检查是否还有剩余样本未处理,若是,则返回执行步骤(5);否则,返回完整的测试用例。
[0084] 参见图4,介绍本发明基于动态多目标测试用例生成的通行控制算法仿真测试装置的测试方法的操作流程,包括下列操作步骤:
[0085] (1)测试装置的初始化设置和准备操作:用户通过仿真测试装置的交互界面设计闸机外壳形状和传感器的布局与参数,以及对测试用例的需求参数;然后该仿真测试装置中各模块进行准备操作。
[0086] (2)测试装置进行测试:算法测试模块先从测试用例中读取数据,并从该测试数据中解析传感器数据和刷卡信息;模拟时钟管理模块模拟时钟和启动测试计时,算法测试模块调用通行逻辑算法进行测试处理,然后再由模拟时钟管理模块模拟时钟的暂停,表示本次模拟测试操作结束;算法测试模块将通行逻辑算法返回的控制信号与该次运行的数据帧组合后,写入到测试结果。该步骤包括下列操作内容:
[0087] (21)算法测试模块获取用户的测试用例需求参数。
[0088] (22)视频处理模块读取用户设置的硬件参数,从通行样本库获取视频文件,将生成的标准通行模式数据存储于标准通行模式库。
[0089] (23)定制测试用例模块读取用户的测试用例需求参数,读取数据存储层中标准通行模式库中的乘客通行数据并进行选择,然后,定制和连接各种标准通行模式,再在连接过程中添加相应的测试标签和生成测试用例。
[0090] (24)定制测试算法模块获得待测的闸机通行控制算法,通行算法管理模块获取该待测的通行控制算法的存储路径,加载包含该通行控制算法的动态链接库,查询接口函数并进行注册。
[0091] (25)模拟时钟管理模块初始化设置模拟时钟,模拟硬件管理模块初始化设置模拟的闸门、蜂鸣器和警示灯的各种参数。
[0092] (3)测试装置返回步骤(2),继续进行多次测试,直到测试用例执行完毕;
[0093] (4)算法测试模块返回测试结果,由结果分析模块对测试结果的正确性进行检验和统计,最后由装置的交互界面向用户展示测试结果。
[0094] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。