【基于单片机的运动物体检测与跟踪系统设计15000字(论文)】_第1页
【基于单片机的运动物体检测与跟踪系统设计15000字(论文)】_第2页
【基于单片机的运动物体检测与跟踪系统设计15000字(论文)】_第3页
【基于单片机的运动物体检测与跟踪系统设计15000字(论文)】_第4页
【基于单片机的运动物体检测与跟踪系统设计15000字(论文)】_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论研究目的及意义近年来随着我国计算机应用水平的提高,互联网时代的产物频繁的出现在人民的日常生活中,技术的提升为人民带来了全新的生活方式,使人民的生活变得便捷的同时,节省了大量的人力物力。十字路口的监控、家中的智能家居、人脸识别以及功能愈发完善的智能手机,计算机视觉领域得到了广泛的应用。在漫长的科技探索中,人们发现计算机蕴藏着无限的可能,得益于自然的灵感,计算机正朝向仿生人体功能发展。计算机视觉,可以通过计算机认知世界的技术,并在此基础上,具有一定的识别和理解能力。人们基于视觉器官的成像原理,初步建立起智能识别系统。本论文以计算机视觉其中一个领域进行研究,对运动物体进行检测,并对其进行追踪,其核心功能由算法实现,开发板选用STM32,外接摄像头用于采集图像帧,再利用LCD液晶显示屏记录运动轨迹,达成跟踪效果。1.2研究背景和现状运动目标检测与跟踪技术,在计算机视觉研究领域占主导地位,随着技术的逐渐成熟,它的应用遍及生活的各个领域,很快成为非常重要的技术支撑当前的信息处理领域.但传统的运动目标检测与跟踪系统的实现受限于空间,处理方式单一,扩展能力有限等缺点,在论文中将其搭载STM32开发板上进行优化。运动目标检测的实现,首先通过背景提取算法建立初始背景,此算法利用了像素邻域之间的相关性,对图像进行描述的特征矢量为每一个像素点及其邻域组成的集合,它改进了混合高斯背景模型过程中为每个像素点逐一来进行背景提取的局限性,使得视频序列的处理具有较小的数据计算容易和较高的执行效率.视频序列运动目标的跟踪在二维空间中得到了实现,首先在一个二维空间中选择样本点,运用经过改进的均值漂移算法对视频序列目标点进行了实时的跟踪,它的主要步骤之一就是对全部视频图像帧做一个均值漂移的运算,以上一帧的均值漂移运算结果为下一帧的均值漂移算法在搜寻窗口初始条件方法进行迭代,从而达到运动的目标和物体进行追溯的目标。1.3国内外研究现状国外在研究计算机视觉技术方面,相对国内发展较好。基于物体的检测与跟踪技术,早期常用于智能监控的研发。早在1997年,美国国防高级研究项目署设立了视觉监控项目(VSAM),其目的在于搜索敌军位置,在战争中获取优势。图像采集方面,打破了传统局限性,可实现对多个运动目标同时追踪,还可以识别分割人的头、手、脚和躯干等,可智能化分析外观轮廓判断是否携带物体,并理解一些如握手、购物等简单事件。广泛的应用前景使该技术蕴含巨大价值,尤其是智能管理方面得到极大的发挥空间。智能监控的理念最早被应用于交通管理,节省人力物力的同时,降低交通事故发生的概率。近年来,国内对于运动目标的检测与跟踪技术发展愈发重视,对目标的检测与跟踪脱离了传统系统中对于二维空间的限制,目前正着重发展三维空间的物体识别技术如三维场景建模。人机交互一直是国内外攻克的难题,难点在于如何让机器理解人类的行为举止。行为模式识别、导航机器人等就是依靠此技术为核心实现的。自2019年以来,装载有检测系统的无人机受到许多人的青睐。尤其是2020年爆发的新冠,无人机代替人进行远距离交互成为应急手段。由此,国内各大高校对检测跟踪技术进行深度研究,并取得成果。此外,国内的一些科技公司,包括小米、华为等电子产品制造商在内,也致力于智能视觉监视的研究,旨在设计完全智能化的监控系统。国外在研究计算机视觉技术方面,相对国内发展较好。基于物体的检测与跟踪技术,早期常用于智能监控的研发。早在1997年,美国国防高级研究项目署设立了视觉监控项目(VSAM),其目的在于搜索敌军位置,在战争中获取优势。图像采集方面,打破了传统局限性,可实现对多个运动目标同时追踪,还可以识别分割人的头、手、脚和躯干等,可智能化分析外观轮廓判断是否携带物体,并理解一些如握手、购物等简单事件。广泛的应用前景使该技术蕴含巨大价值,尤其是智能管理方面得到极大的发挥空间。智能监控的理念最早被应用于交通管理,节省人力物力的同时,降低交通事故发生的概率。近年来,国内对于运动目标的检测与跟踪技术发展愈发重视,对目标的检测与跟踪脱离了传统系统中对于二维空间的限制,目前正着重发展三维空间的物体识别技术如三维场景建模。人机交互一直是国内外攻克的难题,难点在于如何让机器理解人类的行为举止。行为模式识别、导航机器人等就是依靠此技术为核心实现的。自2019年以来,装载有检测系统的无人机受到许多人的青睐。尤其是2020年爆发的新冠,无人机代替人进行远距离交互成为应急手段。由此,国内各大高校对检测跟踪技术进行深度研究,并取得成果。此外,国内的一些科技公司,包括小米、华为等电子产品制造商在内,也致力于智能视觉监视的研究,旨在设计完全智能化的监控系统。1.3.1嵌入式系统一个完整的嵌入式系统和通用机电脑的组成是基本一样的,硬件上包括处理器(CPU)、内存(Flash)、存储器、电源模块等;软件上包括操作系统、驱动程序、第三方的软件库、应用程序等。嵌入式系统和通用机电脑最根本的区别就是嵌入式是专用性系统,是为了某个或某几个应用程序专门定制的硬件和软件系统,在硬件和软件上都可以进行裁剪,从而在体积大小、成本、功耗上满足嵌入式应用的需求。(1)嵌入式系统的发展随着自动化技术飞速发展以及网络带宽的不断扩展,物联网的发展也有了很大的提升。要想让世间万物都能够连入互联网,并且可以和人交互信息,就需要在物体上加入信息处理系统,这个信息处理系统的开发就得依赖于嵌入式系统,也可以说物联网的核心技术就是嵌入式系统开发。20世纪的80年代期间,由于在微电子领域有很大发展成果,工程师们开始把嵌入式系统的所有部件全部都集成到一个VLSI(VeryLargeScaleIntegration)中,包括系统的处理器、RAM、ROM、编解码器、以及输入和输出接口等。从而使得嵌入式系统的体积变得更小、更轻便。到了20世纪的90年代,在数字信息化技术和自动控制等应用领域的推动下,嵌入式系统开始出现在各个应用的设备上,最常见的是在医疗和军事设备上,嵌入式系统的发展又一次得到提升。在到了21世纪,互联网的发展把嵌入式真正的推到了顶峰[8]。嵌入式系统的发展大致经历了以下三个阶段:第一阶段:嵌入系统的初期阶段。这个时候嵌入式系统主要的存在形式是可以进行编程操作的单片机控制器或者功能简单的专用计算机。在大型工业生产车间、医疗器械设备、军事武器装备等领域都有应用嵌入式系统[9]。第二阶段:高级处理器的出现。在这个阶段,主要是嵌入式系统的硬件有了很大程度的提高。特别是ARM、PowerPC等处理器的出现,标志着低功耗、高算力、高可靠的时代到来,解决了很长一段时间以来人们在算力和功耗的取舍问题上的困扰。第三阶段:芯片技术和互联网技术的阶段。随着互联网技术和微电子技术的额迅猛发展,不断衍生出新的科技品。SOC(SystemonChip)片上系统的产生,使得嵌入式系统的体积变得越来越小,计算能力和功能却变得越来越强。让互联网不仅拉近了人与人之间的距离,更让人与物的信息通信成为现实。(2)嵌入式系统组成结构所谓嵌入式系统是以应用为中心、以计算机技术为基础,软硬件可裁减,能够满足应雳系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。图1-1嵌入式系统组成图1.3.2运动物体检测运动目标检测是现在很多应用的基础功能,主要的应用场景分为静态背景和动态背景两大类,当然也可以是平稳相机和非平稳相机两大类,两个说法在本质上是一样的。本文实现的系统同时满足两种场景下的检测。帧差法,该方法是利用相邻两帧每对相对应的像素点的灰度差值来区分运动物体的,当然相邻的两帧不一定是时间上相邻的两帧,通常情况下为了减少计算量会设定一个步长n,每隔n帧做一次帧差。帧差法结果如图所示:图1-2帧差法背景差分法,该方法主要是通过当前帧与之前存好的背景帧做减法。与帧差法基本类似,不同的地方就是,帧差法是两帧相邻或者逻辑上相邻的图像做减法。由于该算法实现简单,在静态背景下的检测效果良好,所以背景差分法也是比较常用的一种运动物体检测方法。背景差分法的还有一个主要的地方就是背景模型的更新,由于受光照、天气等因素的影响,随着时间的推移,在新的图像帧中会引入很多的干扰,这就会导致原来的背景帧将不适合当前帧的适用条件,做减法的结果也将不会是准确的检测结果。背景更新主要的方法有单高斯模型建模,混合高斯模型建模等,单高斯模型主要是根据像素点亮度这一个因素来更新模型,混合高斯高斯模型则是根据多种因素来更新,例如光照、对比度等。背景差分法的结果如图所示:图1-3背景差分法单高斯背景建模也是静态背景下常用的运动物体检测方法,本文的算法实现部分也主要应用了单高斯模型来进行背景建模。单高斯背景建模,高斯分布也称为正态分布,是在自然世界中很多场景下常见的一种分布,单高斯背景建模就是基于这样的一种假设。高斯背景模型是对一幅图像中的每个像素点建立一个模型,并假设每个像素点在图像序列中的亮度值I(x,y)是服从高斯分布的,然后设定一个阈值T,如果当前帧该像素点的亮度代入数学模型大于阈值T,表明像素亮度的变化与上一帧相比差别不大,则认为该点为背景点;相反如果代入数学模型得到的值小于阈值T,表明该像素点的亮度与上一帧相比差别很大,则认为该点为前景点。除了上述的帧差法、背景差分法外,还有光流法也是运动物体检测的一种常用方法,当然光流法不仅适用在静态背景下,在动态背景下也同样适用。但是由于光流法的计算量太大,在静态背景下一般不采用光流法来实现。光流法也将在下一小节动态背景下的运动物体检测当中作详细介绍。1.4研究内容本课题致力于研究如何实现对运动目标的检测,以及对其进行跟踪,为减少由于实验环境因素带来的影响,将背景统一为静态背景。对比相同环境下算法的优缺点,选择出最适合本系统的算法。在算法选择方面,列举了当前领域常见算法,具体有连续帧差法、背景差法、光流法、Meanshift和Camshift算法,并结合实验结果和嵌入式系统硬件资源,比对各算法所得实验结果。在嵌入式系统功能实现方面,考虑到成本及功能实现,优先选择了以STM32为核心的开发板,接着对运动目标检测与跟踪应用程序进行了模块化的设计,完成视频图像采集、运动目标检测、图像预处理、运动目标跟踪的相关程序编写,最终在嵌入式平台上,完成相关设计。1.5论文结构本文主要由六部分组成,以下是本文的结构安排及其主要内容。第1章,绪论。本章根据重点研究内容和期望的设计结果,分析了本设计的研究背景以及目的和意义,并介绍分析了目前国内外的研究现状,以及本文的论文结构。第2章,相关技术知识介绍。本章介绍了运动物体的检测与跟踪相关概念,以及相关的检测算法以及跟踪算法技术简介。第3章,运动物体的检测与跟踪的软件设计。本章节主要分析运动物体检测与跟踪功能做了总结和归纳。第4章,运动物体的检测与跟踪的硬件设计。以及具体实现。第5章,测试与仿真。本章主要完成对测试验证,在本章节介绍了运动物体的检测与跟踪系统的测试环境,以及对该检测算法与跟踪算法的一系列测试结果。第6章,总结和展望。本章节主要对运动物体的检测与跟踪系统中存在的不足提出问题,并对其中的不足提出改善方案。1.6本章小结本章主要对本课题的意义、作用、目的以及国内外研究现状进行调查和分析,并详细说明了论文结构,对本设计具体研究内容和模块进行说明。2相关知识介绍2.1STM32开发板介绍在本次的设计中使用STM32F103C8T6最小系统板,依据本次设计中的各种需求,自己在PCB电路板上手动焊接。STM32F103XC增强型系列使用的是高性能Cortex-M332位的RISC内核,提供低成本平台的同时,缩减引脚数目、降低系统的功耗、提供卓越的计算性能和先进的中断响应。工作频率为72MHz,内置高速缓冲存储器,所有型号都包含3个12位模数转换器、4个通用16位定时器和2个PWM定时器。该款系统板能够在恶劣的环境下工作(最低零下90度),有64KB的RAM容量、128KB的FLASH和20KB的高速SRAM容量。额定工作电压在2V~3.6V。该系列有着丰富的外设资源,使其适用于多种应用场合,尺寸图如图2-1所示。图2-1STM32F103C8T6开发板尺寸图2.2LCD显示屏介绍OPEENMVLCD扩展板作为图像采集模块附加,此器件可以使OpenMV摄像头脱离电脑显示图像。它采用1.8寸128x16016-bpp(RGB565)TFTLCD显示模组,并且可以控制背光,可直接使用OpenCV固件内置的LCD库进行控制。如图2-2所示。图3.3OPEENMVLCD扩展板2.3摄像头介绍在本系统设计中将采用OpenMV4H7PLUS摄像头作为图像采集模块,该系列摄像头具有小巧、节能、成本低廉的特点,可以很容易的使用外部中断出发拍摄或执行算法,可将算法的结果用于控制IO引脚。实物如图2-3所示。图2-3openmv图像采集模块Openmv系列搭载有ARMCortexM7处理器,工作频率为480MHz,1MB的RAM,2MB的flash,工作电压为3.3v~5v,其余串口功能如表2-1所示。名称描述全速USB接口12MbsμSD卡接口100MbsSPI总线100MbsADC/DAC12-bit32-bitSDRAM400MbsFlash100Mbs(4-bitDDR模式)表2-1openmv摄像模块功能描述可拆卸的摄像头模块系统,允许OpenMV摄像头与不同的感光元件模组连接,使其可以实现丰富的功能。系统将用此器件进行视频序列的采集,如果检测到运动物体,主控模块将会把信息反馈回器件。器件收到信息做出回应,在屏幕中用方框被标记出来。2.4OLED显示屏介绍OLED是一种新型显示屏,原理上与LCD有着明显区别。通过电场的驱动,有机半导体材料和发光器件通过注入或复合,由过载电流子进行注入或复合。ITO玻璃透明电极以阳极,金属电极以阴极,通过电源进行驱动,将电子从金属阴极向阳极传递并输送到电子传递层,空穴从阳极向金属注入传递层,之后电子分迁移到金属发光层,二者碰撞后产生激子,启动发光分子,经过紫外线辐射后产生光源。和LCD屏相比较,OLED具有很多优点,在屏幕厚度方面,OLED比LCD更薄,如此轻薄的屏身使其更加轻盈。OLED屏幕具有特殊的液态结构,这是一种类似细胞的特殊结构,可以保证屏幕的抗衰性能。OLED具有广视角的特点,远距离观看屏幕时,画面不会失真。但反应速度缓慢,比较适合对传输质量有高规格要求的实验中。OLED屏幕耐低温,即使是在寒冷的极地作业,也能保证正常运作。发光效率高、能耗低、生态环保等特点,受到了各大手机品牌的青睐,制作成曲面屏,赋有时尚感的同时,给人们带来不同的视觉冲击。3嵌入式运动物体检测与跟踪系统需求分析依照本论文中对嵌入式运动物体检测与跟踪系统的要求,该系统要求实现检测与追踪两大功能,选择市面上可拓展功能较为全面的STM32开发板作为核心控制部分,采集图像序列选用的是Openmv系列摄像头,该摄像头广泛应用于各大关于计算机视觉领域的实验,能够精准捕捉运动中的物体。保证图像的顺利采集。3.1目标检测技术需求运动目标检测技术的主旨,在于如何把图像序列中的运动目标从背景中分割出来。提取的运动目标完整度,将直接影响后续处理效果。目标检测是从图像序列中将变化区域提取出来,检测出运动的目标。其中,图像采集的清晰度尤为重要。视频序列的清晰度将影响后续功能的执行。其次,是算法的选择,每种算法都有其独特的优势和适用环境,不同算法得到的实验结果各不相同。以下是实验中常用的检测算法介绍。(1)背景减除(BackgroundSubtraction)法,多数情况下,相对于其他算法来说,能够提供精准数据,在环境变化较大的背景下采集到的图像序列,大幅变化的景物可能会被错误识别成运动物体,导致数据准确性受到影响。所以该模型一旦建立之后,对于该场景图像所发生的任何变化都比较敏感,所以该算法适用于背景点变化微弱的场景。(2)差分法(TemporalDifference时间差分,相邻帧差),是检测算法中最容易实现的方法。充分利用了视频帧序列的连续性,在连续的图像序列中提取动态目标。通过肉眼观察采集的视频图像,不难发现,如果一个帧序列中没有任何可以移动的物体,相邻图像帧的像素点变化不明显。存在一个运动的目标时,相邻帧的像素差异比较大,习惯性地将一个存在于运动目标的图像帧称为前景,差分法就是通过利用相邻帧的图像做差分法来提取前景点,每个前景与其他点的依次相互连接就可以提取得到目标轮廓。但在一个目标轮廓运动缓慢时,灰度值绝对值较低,摄像头无法准确分辨出目标与背景的区别,从而无法完全地提取得出所有与其相关的特征像素点,甚至可能导致差分法提取得出的轮廓与其实际相比较粗,不能够完整地识别一个目标的轮廓,不利于对其进行有效的相关性分析,因此采用差分法通常会结合模型来进行实验,很少有人单独采用。(3)光流法(OpticalFlow),由场景中目标或摄像机或相对运动产生的称之为光流。当我们在观察运动物体时,所看到的图像就像是一种光流,光流向我们所传递的是目标运动的信息,因此我们知道物体在运动。本算法基于此原理检测运动物体,但缺点在于受光照影响较大,不稳定或是昏暗的环境下不建议用此算法。3.2目标跟踪技术需求目标跟踪(ObjectTracking),检测算法通过对视频帧序列逐帧分析,将运动目标存在的变化区域从背景中分割出来,将每一次得到的前景像素点分析加以推导,可在二维平面内预测出多个下一刻运动目标出现的位置。根据其可能性加以权重,重复实验过程,最终形成的路径,即为运动目标的运动轨迹。以下是对实验中可能采用的算法MeanShift和ParticleFilter相关介绍。(1)MeanShift(均值漂移算法),顾名思义,本算法的工作原理就是通过求取平均值的同时,不断地向目标进行移动,是一种寻找样本点聚集密度最大的算法。首先在二维空间中随意选取一个样本点,将此点作为圆心,建立一半径为radius的高维球体,把圆心样本点与所在区域内的所有样本点连接,所得连线为偏移矢量,所有偏移量之和的平均值,我们将其称之为均值偏移向量(MeanShift向量)MeanShift算法没有直接求取下降方向和步长,而是中心样本点根据均值偏移向量的方向和大小进行移动。重复上述过程,直到均值偏移向量足够小的时候,记录下此时中心样本点的坐标。MeanShift与传统的跟踪算法对比,计算难度低,在知晓目标区域信息的情况下,可以做到实时跟踪。采用核函数直方图模型,目标改变或背景变化均不会影响其准确度,适用于跟踪运动速度较慢的目标。缺点在于不能进行模板更新,跟踪窗口的大小不能变化。当目标运动速度过快时,观察到的效果会有所降低。(2)ParticleFilter(粒子滤波算法),一种以蒙特卡罗算法为基础,通过加权从而预测出物体运动轨迹的算法。该算法无法精准计算物体运动轨迹,即无法获取相似度概率密度分布。实验中采用大量均匀分布的粒子作为对象,通过状态转移方程预测每个粒子的下一刻坐标,对每个粒子进行评估,对最接近真实方向的粒子采取加权处理。重复上过程,逐步过筛剩下的粒子运动方向即最终预测的物体运动方向。该算法通过粒子采样来近似描述这样的分布,通过这样的方式就可以推算出与实际目标相似程度最高的位置。虽然粒子在空间内属于随机分布,但粒子采样遍布整个相似度概率密度空间,从概率角度分析,多次重复实验即可得到最优坐标。4嵌入式运动物体检测与跟踪系统设计与实现4.1总体设计在进行运动物体的检测与跟踪系统设计中,首先要明确该系统最终要实现何种功能,再根据功能的实现方法将控制器划分为若干个不同的功能模块,最后针对各个模块分别进行硬件电路设计和软件功能编写。硬件设计主要是对电路以及模块的位置进行详细规划,软件设计中最重要的,是对算法的应用与实现。在设计中对各算法的优劣进行分析总结,综合实验效果决定选择何种算法。以此为基础,将该系统划分为单片机主控模块、显示模块、算法模块以及图像采集模块。系统结构设计图如下图所示:图4-1系统结构设计图4.1.1硬件设计思路系统各模块的实现方法如下:(1)单片机主控模块:使用以Cortex-M3芯片为主的STM32F103系列核心板实现总体控制,对其他模块进行指令控制。(2)算法模块:此模块在本系统中起到核心作用,该模块由检测算法与跟踪算法实现,在图像采集模块成功采集图像后,利用算法将物体运动的坐标计算出来发送给单片机主控模块,主控模块成功读取坐标后进行数据处理,之后通过显示屏显示各个坐标,坐标形成的轨迹就是物体的运动轨迹。(3)显示模块:在本模块的的设计中,主要通过外接OLED显示屏实现,当采集模块检测到运动物体,主控模块将计算好的中心坐标的数据发送给显示模块,达成追踪的效果。(4)图像采集模块:在本模块的设计中,选择专用于检测物体的OpenMV系列摄像头,该摄像头适用于各种检测算法的实验,能工精确定位并捕捉物体,收集图像帧后利用算法模块计算物体坐标,达成检测的目的。4.1.2软件设计思路本系统着重于对检测算法和跟踪算法的应用,严格按照任务书进行软件开发,根据功能需求和控制顺序,设计代码分别由主程序、算法程序,摄像头控制程序以及显示控制程序四个程序模块组成。其中算法程序模块主要以检测算法和跟踪算法为核心实现,论文将对帧间差分法、光流法、均值漂移算法以及连续自适应均值漂移算法进行研究和分析。之后考虑如何利用算法实现对运动物体的检测与跟踪,进行源代码的编写,调试运行无误后,将程序烧录进开发板中。4.1.3设计工作原理本系统在设计上并未采用过多的算法实现功能,而是采用更为直观的中心坐标作为跟踪的依据,将显示屏通过横纵轴划分为若干区域,如果检测到运动物体,则会计算其中心坐标在LCD显示屏显示位置,在OLED显示屏中显示具体数值,功能实现的具体流程如下。接通电源后,图像采集模块通过连续时间内拍摄到的图像中提取到若干个连续的图像帧,算法模块对短时间内连续图像帧进行对比,若发现两张及两张以上的图像中出现了位置相差较大的物体,则将信息反馈给主控模块,主控模块接收到信息后,确认其为运动物体,则计算其中心坐标同指令发送给检测模块,检测模块收到指令后,在LCD显示屏用白色方框圈出运动物体所在位置,用白点显示物体的中心坐标,若物体在此过程中继续移动,则重复上述过程,重新计算中心坐标,并保留一段时间内显示屏中中心坐标的位置,中心坐标变化的轨迹就是运动物体的运动轨迹。4.2硬件设计4.2.1单片机主控模块本设计中采用STM32F103核心板作为单片机主控模块,该系列开发板具有良好的可拓展性,可通过外接特殊元器件实现指定功能。电路图如图4-2所示。图4-2STM32F103核心板此模块作为主控模块,其主要作用是控制其他模块相互协调工作,对各模块发送来的数据进行处理和反馈。4.2.2显示模块本设计中采用OLED显示屏作为显示模块核心部分,电路图如图4-3所示。图4-3OLED显示屏电路图引脚图如表4-1所示,该器件共有7个引脚,功能实现具体如下:引脚名称描述1CSOLED片选2DC命令/数据标志位A13RES命令/数据标志位PA24D1串行数据线(MOSI)PA35D0时钟线(CLK)PA46VCC电源(+5v)7GND接地表4-1OLED引脚说明表显示模块是对系统中跟踪功能的具体实现,当主控模块从图像采集模块收集的图像中检测到运动物体时,立刻对检测到的运动物体的中心坐标进行计算,之后将计算结果发送给显示模块,显示模块根据主控模块发来的数据显示在屏幕上,随着物体不停移动位置,重复上述流程,在屏幕上不断刷新中心坐标,达成跟踪的目的。4.2.3图像采集模块本设计中采用OpenMVH7plus型号摄像头作为图像采集模块的核心部分,在使用之前要将摄像头与显示屏用焊锡枪进行焊接。图4-4openmv摄像头与LCD扩展显示屏引脚图4.3软件设计4.3.1帧间差分法帧间差分法是一种通过对视频图像序列的连续两帧图像做差分运算获取运动目标轮廓的方法。当监控场景中出现异常目标运动时,相邻两帧图像之间会出现较为明显的差别,两帧相减,求得图像对应位置像素值差的绝对值,判断其是否大于某一阈值,进而分析视频或图像序列的物体运动特性。实现方式如图4-5所示。图4-5帧间差分法原理框图如上图所述,fk-1表示前一帧,fk表示当前帧,Dk表示的图像就是它们相减后得到的灰度值绝对值,公式如下(4-1):(4-1)其中(x,y)表示图像帧中任一像素的坐标,将Dk与提前设定好的阈值进行比对,得到如下公式(4-2):(4-2)若像素值大于提前设定好的阈值,就将值置为0,反之,则为1。置0则称之为背景像素,置1则称之为前景像素,将所有为1的前景元素连接起来,就是运动目标的轮廓。在研究运动物体的实验中,帧间差分法是比较常用的,和其他算法的对比,也是最容易实现的,在程序设计时代码复杂度较低,极大提高了运行速度,不受光线噪声等环境因素的干扰。采集到的视频序列可以理解为在一段时间内某物体在静态背景下连续拍摄的图片,如果场景内没有运动目标,当前帧与下一帧的变化很微弱,反之,若存在运动目标,则帧与帧之间会有明显的变化,将连续的两或三帧进行差分运算,像素点对应相减,判断灰度差的绝对值,当绝对值超过设定阈值,即可确定为运动物体,实现目标的检测功能。但该算法不能提取到运动物体完整图像,只能提取到目标的大致轮廓,如果目标移动相对较慢,则会导致连续帧序列做差时灰度值偏低(空洞现象),难以对目标的运动加以识别。受所选图像帧时间间隔和分割阈值的影响,检测到的物体轮廓边缘与实际相比较粗,不适合对目标的精确检测。4.3.2光流法用二维平面像素动态变化反映三维空间运动物体动态变化,称之为光流(李成美,2018),它建立了平面到立体空间的投射联系。光流法根据这种映射关联性间接获取运动目标的数据信息(陈海峰,2018)。光流法有一个假设前提,连续帧序列需要在恒定光源下进行拍摄。在实验中用亮度值I(x,y,t)来描述图像帧中任一像素点(x,y)在t时的强度大小,用u(x,y)来描述其在x方向光流分量的大小,用v(x,y)描述其在y方向光流分量的大小,如果在t+Δt时,在(x,y)处的运动点移至(x+Δx,y+Δy),其中∆x=u∆t,Δy=vΔt。根据假设前提条件下——在Δt内亮度值固定相同,我们可以得到式(4-3)。(4-3)基于上述公式推导,我们可以得出结论,当视频序列中不存在运动物体时,视频中光流矢量的变化趋于一致,反之,若存在运动物体,则光流矢量将会发生明显变化,这个过程相当于用平行光束照射物体,光束与物体表面接触的点在二维平面中标记出来,将所有点依次连接得到的轮廓,就是运动物体的位置。但该算法易受光照因素影响,在光照变化较大或昏暗的环境下不易检测到物体。4.3.3背景差法背景差法和帧间差分法有些类似,都是基于连续的图像帧检测运动物体,区别在于背景差法会提前给予一定数量的图像帧训练背景,这个过程称之为构建背景模型。背景建模的方式有五种。(1)中值法背景建模:检测图像序列,将所有存在运动物体的前景图像帧与背景做差,得到的像素点灰度值按从小到大排列,取中间值作为背景图像中对应像素点的灰度值。(2)均值法背景建模:和中值法背景建模类似,不同点在于中值法是对中间值作为目标,缺乏一定的可参考性,均值则是求取像素点灰度值得集合,再求取平均值。具有一定的准确性。缺点在于对动态背景的变化比较敏感,受环境影响较大。(3)卡尔曼滤波器模型:这是一种较为严谨的算法结构。将前一刻运动目标的位置(即前景)作为参照,通过卡尔曼滤波理论预测下一个前景的位置。与此同时,再通过实验推算出另一个前景位置,两次得到的前景位置一般情况下不相同。通过公式不断将均方误差递归,每次只保留上一次的协方差。随递归次数的增多,获得的前景越精确。(4)单高斯分布模型:高斯分布又被称为正态分布,通常用于测量随机量的变化情况,以此为模型的差分算法,将所有像素点按前景点和背景点进行分类,由前景点构成的图像就是检测到的运动物体。(5)混合高斯模型:以单高斯分布模型为基础改良,是单高斯模型的迭代过程。正因此方差和均值成为模型稳定性和精确性的决定因素。将背景图像的每一个像素点匹配混合高斯模型,每种高斯分布可以表示一种背景场景,多个高斯模型叠加,可以模拟出多种复杂背景下目标的运动轨迹。在实际应用中,每次检测到运动物体,则将获取到的前景像素点反馈给背景,更新背景模型,接下来每一帧重复此过程。原理框图如图4-3所示。图4-6背景差法原理框图在基于背景差法的运动物体检测中,背景图像的精确度,会在很大程度上影响检测的效果,场景的特殊性、光线变化、噪音干扰等不可预知的因素都会影响到该算法对于运动物体的检测效果。4.3.4Meanshift算法均值漂移算法,一种基于密度梯度上升的非参数方法。在平面内随机选择一个样本点,以此样本点为圆心建立一球体,将该球体范围内所有样本点与中心样本点连接。然后计算所有点到中心点的距离矢量的平均值,将中心样本点按距离矢量的平均值长度和方向移动,重复上述迭代过程,得到最优解。这种思想类似于梯度下降方法,目标向密度聚集方向移动。用几何模型解释如下:如果样本点x分布服从概率密度函数f(x),f(x)梯度指向概率密度增加最大的方向,分析得出结论,Sh区域内的样本点落在沿着概率密度梯度的方向。因此,MeanShift向量Mh(x)指向即梯度下降方向,(1)MeanShift的基本形式某二维空间内,存在着随机分布,数量为n的样本点Xi(i=1,...,n),可以用式4-4中的Mh来描述点x的MeanShift向量:(4-4)设空间内存在一直径为h的多维圆形区域,满足以下式(4-5)关系的y的集合。k表示在这n个样本点xi中有k个随机分布的样本点在Sh范畴内。(4-5)在这里我们引入一个概念,假设中心点x是连续型随机变量,概率密度函数为计算其一定范围内可能性的函数。从公式(4-4)可以看出,(xi-x)是样本点xi相对于点x的偏移量,Mh代表的是Sh区域中的所有样本点相对中心点x的偏移量的累加平均值。一般情况下,概率密度函数指向样本点密度密集的地方,假设x服从概率密度函数的规律,则Mh(x)也是指向相同方向。图(4-7)是其示意图,用Sh描述直径为h,包含有k个样本点的空间区域,采样概率密度函数f(x)中的所有样本点xi位置如图所示,各偏移量用单向箭头来表示,由式(4-4)表示的均值Mh(x),将指向样本点分布密度最集中的地方,即f(x)的梯度方向。图4-7Meanshift示意图4.3.5Camshift算法Camshift算法,是以Meanshift算法为基础进行改良的算法,又称为连续自适应的MeanShift算法。执行过程如图4-8所示。在测试中可以自动调节搜索窗口的大小,应对目标大小变化的情况(郑晓萌,张德海,2018)。换句话说,如果运动物体在移动过程中改变其大小形状等物理特质,该算法均能做到快速定位。基本思想是对视频序列的所有图像帧都作MeanShift运算。接下来和MeanShift有所不同,MeanShift每一次执行结束,搜索窗口的大小不会改变,Camshift是将上一帧的搜索窗口的中心位置和大小作为下一帧MeanShift算法的搜索窗口的设定值,寻找最优解。简单点说,MeanShift算法是针对单张图片寻找最优迭代结果,而CamShift则是针对视频序列来处理,并对该序列中的每一帧图片都调用MeanShift来寻找最优迭代结果。正是由于CamShift针对一个视频序列进行处理,从而保证其可以不断调整窗口的大小,如此一来,当目标的大小发生变化,搜索窗口的大小也会随之改变。CamShift算法改进了Mean-Shift不能调整窗口的弊端,每完成一次跟踪,能够依据目标的尺寸重新调节搜索窗口大小,对有尺寸变化的目标可灵活适应。但CamShfit算法在计算目标模板直方图分布时,不会对任何样本点进行加权处理,所以每个样本点都具有相同的权重。CamShfit算法的抗噪能力较差。CamShift算法中未定义候选目标,每次开始都会根据目标改变窗口大小。除此以外,CamShift算法采用HSV色彩空间的H分量建立目标直方图模型,依据目标的色彩信息判定来进行跟踪,当目标与背景颜色接近或遮挡时,CamShift会重新设置窗口初始值。假如目标可以通过改变自身颜色融入环境,算法不能识别目标,就会重新设置窗口的大小,甚至会将跟踪窗口扩大到整个二维平面,在此情况下容易丢失对目标跟踪的进程。图4-8CamShift流程图4.3.6实验涉及算法根据上述对计算机视觉领域检测算法与跟踪算法对比,每种算法都有其适用的场景。本论文设计中,为减少环境因素的干扰,背景选定为恒定光源下的静态背景。实现目标检测功能方面,单一的检测算法不足以得到理想的实验效果,在算法模块设计中,差分法只适用于提取目标轮廓,所以结合背景减除与差分两种算法,对运动目标进行检测。跟踪功能的实现,由于选材的限制,本论文设计中不会采用对运动物体轨迹进行预测,将采集到的图像在二维空间内以横纵坐标划分区域,将检测模块中每一次运动物体的像素坐标发送给主控模块,并进行中心坐标的计算,最后在拓展显示屏中显示中心坐标。重复上述过程,即可得到运动目标完整轨迹。5嵌入式运动物体检测与跟踪系统功能测试5.1实物焊接如图5-1所示,将STM32核心板与OLED显示屏的底座用焊锡进行连接,查询相应器件的引脚功能表将对应功能的引脚用线进行连接。考虑到采集图像的不便,焊接两个黄色底座用以连接摄像头。图5-1实物背面焊接图正面焊接如图5-2所示,左下为STM32F103核心板,右下为OLED显示屏,上方为openmv摄像头与LCD液晶显示屏的组合模块。图5-2实物正面焊接图5.2运动物体检测功能测试将摄像头与USB线相连,接通电源等待一段时间后,摄像头收集到的画面将通过背面连接的LCD液晶显示屏显示出来,显示画面如图5-3所示。测试中将选用较为明显的红色物体作为检测对象。图5-3开机画面将红色物体放置于摄像头前方,无明显反应,轻微晃动后,显示屏中将显示一白色方框圈出红色物体,如图5-4所示。并在OLED显示屏中显示其坐标,如图5-3所示。图5-4检测到运动物体显示坐标5.3运动物体跟踪功能测试摄像头采集到的图像会直接发送给单片机进行图像的预处理,在连续的图像帧中,若检测到运动物体,则会记算物体当前的中心坐标,发送给OLED屛,如图5-5所示。图5-5对物体的运动轨迹进行追踪6总结和展望6.1总结嵌入式运动物体检测与跟踪系统是基于STM32平台开发成的。设计中采用了运动物体检测算法中的背景差法和帧间差分法检测连续图像帧中的运动物体,追踪则是通过记录并显示运动物体的中心坐标达成目的。在对嵌入式运动物体检测与跟踪系统设计和实现的过程中,首先要从诸多的检测算法中选择最为合适的,论文中对多个检测算法进行探究,其中背景差法和帧间差分法结合改进后的算法可以在保证最优检测效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论