AR目标跟踪算法在领域中的应用

引言:

图像的跟踪是指图像所在的视频文件当中,每一帧图片所分析得到的目标的位置大小空间信息,能够通过算法尽可能高效率地预测到下一帧所在位置并实现捕捉,背景环境一般分为静态和动态两种。

其中静态背景是指采集画面录制设备的位置是固定的,正如路边的摄像头,动态背景则恰恰相反,他需要再采集视频的时候,它的背景和目标都是在不同程度的变化。

在动态背景下,往往会出现目标失误、报错等情况,本文在KCF基础上,提出KCF+算法;这个算法降低目标跟踪误差,在原有基础上提高准确率和完善优良性能,能更好地胜任AR教学系统的识别与跟踪功能。

1、CMT目标跟踪算法

CMT算法诞生于2014年,2015年发表在CVPR上,是一种比较新的跟

踪算法,它基于特征的跟踪方法,跟踪物体的应用场景广泛,经典的光流法CMT中有所应用,核心公式如下所示:

(公式1)


(公式2)

(公式3)

(公式4)

(公式5)

  1. KCF目标跟踪算法

KCF相关滤波算法由JoaoF.Henriques、RuiCaseiro、PedroMartins

和JorgeBatista于2014年提出,该算法的追踪效果和追踪速度良好,引起了广泛研究与轰动,作者又于2015年发表在了IEEETPAMI人工智能领域顶级学术刊物,KCF利用CSK算法,引入了方向梯度直方图HOG特性,从而提高了其性能。

  1. TLD目标跟踪算法

TLD目标跟踪算法是视频跟踪算法的一个框架,该方法能够很好地解决被跟踪对象过程中轻微变形、部分遮挡等问题,这样既可以保证跟

踪的效果,又较为稳定;TLD将传统的视频跟踪算法的跟踪模块(

Tracker)与检测模块(Detector)结合并添加学习(Learning)的过程如下图所示。

(图1TLD算法模块)

(图2TLD流程框图)

上述三种目标追踪算法的特征不同,对比如下表所示:

(表a三种跟踪算法比较)

  1. 改进的目标跟踪算法

基于现有的KCF目标跟踪算法,提出了一种改进的版本的KCF+目标跟踪算法,意在改善KCF使用时的不足,例如辨识度不高、稍有遮挡、快速变形都会引起目标跟踪丢失。改善版本的KCF+目标跟踪算法能够将目标跟踪的适应性更加广泛,保证了目标跟踪的实时性,来适应AR教育系统的要求,KCF+目标跟踪算法实现流程图如下图所示:

(图3KCF+算法实现流程图)

  1. 目标检测模块

检测模块为层叠分类器,每个部分有自己的检测区域,通过每层的分类器保留目标窗口,删除非目标区域保留区域继续执行下一层的分类器,所以说其层叠分类器其实是退化版本的一棵决策树,提出负样本,保留子窗口来降低算法代价,目标检测完整流程图如下图所示。

(图4目标检测完整流程图)

  1. 跟踪模块

采用中值流追踪技术,在原来的前提下,对追踪的失败进行了探测。图5显示了追踪模块的完整流程。

(图5跟踪模块流程图)

其中筛选点的标准采用NCC(归一化互相关)和SSD(差值平方和),SSD和NCC公式如下:

(公式6)

(公式7)

7、综合模块

将探测模块与追踪模块的目标结合起来,可以获得这个整体模块,图6中显示了这个整体模块。

(图6综合模块流程图)

  1. 学习模块

(图7学习模块流程图)

  1. 实验验证

本章对目标追踪算法的目的是服务于力学AR教学系统,因此该实验验证环节选取了一些机械零部件进行实验验证,显然需要在不同尺度,不同缩放等情况下对材料零件进行目标跟踪,选取的4个金属零部件分别进行特征提取图8至图11所示,实验集的实验结果见图12。

(图12数据集实验结果展示)

利用KCF+算法,如图12中可以看到对于法兰接头零件A、阀门接口零件B、轴承固定座零件C、齿轮箱零件D的视频数据进行跟踪,结果表明,在材料尺度变化、角度旋转、大小缩放条件下,跟踪良好。但是在旋转角度超过一定阈值的时候零件B、零件C的跟踪框均产生了细微的偏移。以上来说,本文改进的算法对于目标识别跟踪有着优秀的鲁棒性,可以完成力学AR教学系统中对于各种零件的识别与展现等需求。

  1. 力学AR教学系统需求分析

前文对图像特征提取和目标跟踪算法做出研究改进,在此基础上,本文以力学教学为例设计出力学AR教学系统,本章梳理了力学教材其中的材料力学教学内容和材料力学教学要求。在满足课堂教学需求的基础上,根据力学AR教学系统的功能需要,对各个模块进行了详细的设计;同时,将系统的功能需求与非功能需求分为不同的模块,最终确定了各模块的可行性。

  1. 材料力学教材内容梳理

材料力学这门学科的研究对象就是各种材质的材料和不同形状的零件,学习任务就是,研究材料在不同受力下的强度、刚度和稳定性。其中关于应力的知识点定义为:单位面积所受的内力叫做应力。

如以下公式所描述的应力公式如下公式8所示。

(公式8)

(公式9)

正应力定义:垂直于截面的应力分量,用符号σ表示。

切应力定义:相切于截面的应力分量,用符号τ表示。

主要章节的知识点是拉(压)横断面上的正应力,因为拉(压)杆件的横断面上仅有正应力σ,并为了平均分布,其计算公式显示为公式5.3。其NF为该横截面的轴向受力,A代表横截面面积。

(公式10)

选用这个知识点,拉(压)零件截面上的正应力为例,如图12所示,其中必做实验包含塑性材料与脆性材料的拉伸压缩实验,故有如下应力应变分析要求。

(图12物体受应力示意图)

  1. 力学AR教学系统非功能性需求
  2. 可靠性:导入新的实验数据进行检查,对出现异常进行报错等处理措施。主要包括图片和视频上传时格式和相关内容信息是否合规,以及不同类型用户在对各自的实验数据进行查询时,是否符合其使用权限。
  3. 可用性:操作界面简洁,易于理解。需要减轻使用者的记忆负担和使用过程中的学习难度,尽量符合使用者的行为习惯,通过交互过程中的一些引导,和反馈降低试错率,避免复杂繁琐。
  4. 流畅性:交互动作不需要太多,需要以流畅为原则,比如轻点两下为放大,再轻点两下为缩小,流畅能提高使用者体验。需要准确把握和用户的关联,设计合理的手势,交互时间的长短需要多考虑,避免给用户带来疲劳感和不适感。
  5. 可维护性:产生的日志结构清晰,时间刻度和定位准确,便于维护。

教师也应该对课堂数据进行管理,如编辑实验信息、删除实验信息,查看实验信息,学生的实验完成度计算评分公式由管理员进行设定,系统用例图如下图13所示,显示了管理员对学生实验完成度评分的计算公式,对每一位学生的各个行为进行加权,最后求和作为学生这节实验课的课堂评分。

(图13用例图)

  1. 力学AR教学系统技术架构

力学AR教学系统由C#语言和Python语言开发,C#语言应对系统开发,Python语言用来解决图片特征分析、特征跟踪,在系统中采集图片进行特征识别定位返回模型分析结果,本文教学系统的软件开发环境如下图所示,基于微时操作系统Python(3.6版本)和C#开发。

力学AR教学系统选用B/S和MVC体系结构设计,采用Springboot来

做开发框架,使用Maven为构建项目工具,利用Git用作版本迭代控制。

MVC系统结构包括五个结构,包括数据库、持久、业务、控制器、视图等;数据库层负责数据存储,在上层的数据处理工作,并对其进行相应的处理,服务层主要负责服务逻辑,是服务需求的重要处理层。视图层主要通过网页来连接用户和数据进行交互,提供基本的网页展示和服务的窗口,基于此MVC体系结构,力学AR教学系统按照如图14所示的四层系统技术架构。

(图14系统技术架构图)

表示层,用于前端的相关页面展示,包括主界面的展示和相关实验的上传入口,任教课程的相关实验知识准备、实验结果分析展示、实验报告评分等。本层应用到的框架有HTML、JS、CSS等。

业务逻辑层可划分为控制器和业务层,在接收到使用者要求后,使用者将要求传送给这层的处理器,并向使用者提供处理,为了方便维持,在商业上要尽量减少模块的耦合程度。

DAO层,该层的工作就是对数据库进行交互。该层主要定义了系统中会用到的相关实体类,通过持久层在数据库的表进行映射。上层的业务逻辑层将得到的数据操作信息交付给了下层的DAO层。持久层采用Mybatis框架,该框架C#普通对象与数据库进行映射。

  1. 力学AR教学系统设计架构

力学AR教学系统主要包含6个模块:首页模块、系统简介模块、实验选择模块、用户模块、实验进行模块、统计结果模块,如图15所示力学AR教学系统模块图。

(图15力学AR教学系统模块)

本系统框架包括主页这个一级模块,主页主要包含了系统简介、实验简介、退出系统等内容,简介部分用于展示项目背景,即对力学AR教学系统的简要描述以及图片和文字的展示,首届部分还包括了系统简介、实验简介、用户、退出系统四个二级按钮,整体框架如图16所示。

(图16整体框架)

(图17实验简介模块)

如图17所示,该力学AR教学系统的使用说明和力学学习要求,包括课堂力学实验要求和力学实验报告要求。

为了在移动端能够给到用户更直观地实验设计体验,把材料力学实验全面进行展示,实现辅助教师完成授课、学生完成学习。实验检验模块需要对环境进行权限检验如图18所示。

(图18实验检验模块)

用户管理模块:主要对用户进行注册账号、退出登录、切换账号、密码修改、账号注销,如图19。

(图19用户管理模块)

(图20选择实验模块)

对导入的实验图片进行特征点识别、特征分析、特征视频跟踪,并且需要对光线明暗差异进行适当调节,以便进行实景展示,需要对成功识别的实验图片进行虚实结合的模型展示,对于用户按键交互来完成力学实验的进行,需要通过触屏来选择受材料力面,通过滑块来选择零件受力压强的大小,实验进行模块如图21所示。

(图21实验进行模块)

(图21实验结果模块)

学生可以查看自己参与课堂力学实验的结果图片、力学实验的数据。实验结果模块如图21所示。

(图22用户评分模块)

学生的整节力学实验课的评分标准由管理员来制定,根据课上参与互动问答问题、实验报告、体验过程的准确有序性进行加权评分,用户实验评分模块如图22所示。

  1. 力学AR教学系实验流程设计

力学AR教学系实验程序可以划分为若干个步骤:

(1)当用户打开虚拟教学应用系统首先需要进行程序自检,检测当前的设备摄像头、存储等权限是否打开,若没有开启权限或没有摄像头设备,进入下一个判断,重新自检或直接结束。

(2)实验首先需要对卡片进行注册和识别,识别成功后会展现出立体的三维低碳钢材料零件模型。

(3)随着用户对材料拉伸压缩力道的修改,可以非常直观地看到材料的形变状态以及应力应变的图像、形变的趋势,用不同深浅的颜色表现局部所受应力大小。

(4)循环步骤六力道达到极限状态,材料会被压溃或者是拉断,这是正常且真实的实验现象,也需要将最后的应力应变分析要求。

(5)应力应变分析图像呈现出来,作为实验最后的实验报告依据,得出塑性材料和脆性材料在应力应变分析中的力学特征。

(6)实验最后结束呈现最后的实验报告依据。

图5.14所示为力学AR教学系统的系统流程图由四个部分组成,先后分别是资料查询整理阶段、准备绘制素材阶段、实现系统阶段和交互测试优化阶段。

(图23力学AR教学系统实现流程图)

总结:

本小结内容针对力学AR教学系统进行设计,主要内容分别有技术架构和业务架构,技术架构主要包含力学AR教学系统的开发技术框架,业务架构主要包含力学AR教学系统的功能模块。

对于教育者而言,力学AR教学系统辅助授课教师组织教学实验,帮助教师在课堂教学授课。在AR技术支持下的材料力学课程教学中,该系统基本满足受教育者需求。学生按课程步骤使用力学AR教学系统,使得课堂教学更加形象生动,从而优化教学内容,提升教学效果,激发课堂的创造性。

对于学习者而言,力学AR教学系统能够帮助学习者自我学习,由于力学AR教学系统的交互性,帮助学习者学习中的主体地位,降低对外界的依赖;在对于传统学习的老师提出问题、讲述概念、布置任务中,学习者可以充分利用力学AR教学系统、实验系统中自主探索学习知识点,帮助学习者自主学习、辅助学习者进行探讨、提高探索意识。

展开阅读全文

页面更新:2024-02-28

标签:算法   目标   流程图   应力   力学   零件   公式   模块   领域   用户   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top