天天看点

树莓派视觉跟踪小车_基于树莓派的人物追踪系统及其小车实现

胡峰涛 傅自钢 李建民 罗升 何鑫

树莓派视觉跟踪小车_基于树莓派的人物追踪系统及其小车实现
树莓派视觉跟踪小车_基于树莓派的人物追踪系统及其小车实现

摘要:人物追踪技术一直是当代的热门技术话题之一,其研究和发展能够更好的改善人们的生活。而基于树莓派的人物追踪系统是这一技术发展的重要体现。该系统主要设计了基于OpenCV的视频图像处理模块、人物距离测定模块、车体控制模块,并采用了基于OpenCV的人物特征值提取技术和超声波测距技术,涉及到了图像处理中的掩膜处理和腐蚀膨胀等重要方法。各个模块通过参数的读取协调工作,完成对人物的锁定和小车的追踪。

关键词:人物追踪;视频图像处理;腐蚀膨胀;超声波测距;掩膜

1概述

随着人类社会的发展进步,智能技术不断地改善着人们的日常生活,对人们的影响越来越大。人物追踪作为机器视觉的重要组成部分,其发展和研究对智能技术的进一步提升以及人与机器之间交互的推动有着巨大的促进作用,而基于树莓派的人物追踪系统及其小车实现则是研究所得的重要成果。对于搭载了基于树莓派的人物追踪系统的智能小车,用户可以通过不断的自身移动来实现小车的自动移位以完成小车的跟随和避障等任务。

2设计流程和模块处理

2.1基本设计概念和处理流程

基于树莓派的人物追踪系统主要基于搭载有四核ARMCortex-A53 1.2GHz型CPU、1GB大小RAM芯片的3代B型树莓派,并配有1个卡带式树莓派摄像头、4个超声波传感器、1张16GB大小的SD卡,同时还带有一个充电宝作为DC 5V/2.5A的电源输入。而小车则主要有电机、底板、橡胶轮和测试用的树莓派组成。当小车上电后,小车便自动开启跟随功能。小车的摄像头会对准用户,当人物开始移动时,小车的摄像头会始终跟随用户并锁定,以防止目标发生错乱,并且小车在移动过程中,会始终距离用户1米左右的距离,以便用户的活动,同时又能确保小车不会跟丢用户。若用户开始加速移动,小车也会做加速度不恒定的加速运动,在此过程中,小车会不断根据小车距用户的距离来调整自身的速度直到距离恒定为1米为止。当小车在跟随的过程中检测到行进路上有障碍物时,会自动调整方向以绕开障碍物,并加速跟上用户。当小车检测到用户有大幅度的拐弯时,小车会加速前进,将用户与小车的距离缩短至0.5米以防止跟丢目标。

2.2模块的划分和相关技术的运用

基于树莓派的人物追踪系统及其小车实现主要设计了OpenCV视频图像处理模块、人物距离测定模块和车体控制模块三个模块。在小车工作期间,OpenCV视频图像处理模块主要负责处理摄像头视频流,并获取相关信息。人物距离测定模块主要负责捕获周围的环境信息并测定小车与用户之间的距离,车体控制模块则负责处理OpenCV视频图像处理模块和人物距离测定模块所传来的信息,并将之转化为电机驱动信息,驱动小车前进,实现小车的跟随。图一介绍的是模块的划分以及与外部的联系。

2.2.1基于OpenCV的人物特征值提取技术

为了防止小车的跟随目标发生混乱,小车必须通过处理摄像头传来的视频流获取人物的相关信息并锁定,基于树莓派的人物追踪系统采用了基于OpenCV的人物特征值提取信息来完成任务的识别锁定。当小车开始工作时,树莓派摄像头会不断的捕获图像形成视频流并传给OpenCV视频图像处理模块。当OpenCV模块接收到外部传来的视频流后,会以帧为单位去处理视频流,每次处理一帧图像,并通过基于OpenCV的人物特征值提取技术提取出用户的特征值。图二是特征值提取的基本流程。

基于OpenCV的人物特征值提取技术主要又分为两部分:兴趣部分識别技术和人物边缘提取技术。下文将详细阐述两个技术。

1)兴趣部分识别技术

掩膜处理是进行图像处理的常用方法之一,主要是用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。目的是为了提取感兴趣区,用预先制作的感兴趣区掩模与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0。兴趣部分识别技术就是基于掩膜处理技术。为了提取图像中的任务信息,必须对每次截取的一帧图片进行掩膜处理。在接收到一帧图像后,基于OpenCV的视频图像处理模块会调用OpenCV中的颜色空间转换函数:

cv.CvtColor(img,hsv,cv.CV_BGR2HSV)

颜色空间转换函数会自动将RGB的原图像转化为HSV型的图像,在转化完成后,模块会调用OpenCV函数库中另外一个用于掩膜处理的函数:

cv.InRangeS(hsv,lower_blue,upper_blue,mask、

函数会对已经生成的HSV型图像进行遮掩处理,通过参数的调整只保留感兴趣的部分,并将其值设为1,这样也能同时完成保留图像的图像二值化,为后面的人物边缘提取操作打下基础。

2)人物边缘提取技术

腐蚀和膨胀是对图像处理的另外一种手段,对图像采取腐蚀和膨胀处理主要是为了消除噪声、分割出独立的图像元素以及在图像中连接相邻的元素。其视觉效果便是使高亮区域更大或是更小。对于腐蚀来说,就是让高亮区域更小,即被将处理的二值图像中的每一个点与结构元素中的中心点进行重合比较,若结构元素中的高亮点都在二值图像的高亮点内,则该点设为高亮点。而对膨胀来说,就是让高亮区域更大,基即将被处理的二值图像中的所有点与结构元素中的中心点重合比较,结构元素中的高亮点只要有一个落在被处理的二值图像的高亮区域中,则该点就设置为高亮点。人物边缘提取技术就基于腐蚀和膨胀这两种算法。在完成了对图像的掩膜处理后,输出的图像首先会被进行腐蚀处理,其主要目的是获取人物的边缘轮廓,基于树莓派的人物追踪系统会调用OpenCV函数库中的腐蚀函数:

cv.Erode(mask,eroded,element,iterations)

该函数会将被掩膜处理后的图像的边界提取出来,生成的图像会被进行膨胀处理,基于树莓派的人物追踪系统会调用OpenCV函数库中的膨胀函数

cv.Dilate(eroded,dilated,element,iterations)

该函数会将腐蚀得到的人物边缘轮廓进行放大,以便更好更精准的识别。在完成了这些操作后,基于树莓派的人物追踪系统便通过树莓派摄像头获得了目标的特征值,并且每一次截取一帧图像后所得的特征值都会与上一次获得的特征值进行比较,若发现人物特征值出现偏移,树莓派会自动调整摄像头以锁定目标,当系统确定了特征值后,便会将信息传递给车体控制模块,以便实现跟随任务。

2.2.2超声波测距技术

由于超聲波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。为了保持小车与用户之间的距离并躲避沿途的障碍,小车上搭载了4个HC-SR04型超声波测距仪,实时对周围信息进行采集并及时躲避障碍。图3是超声波测距基本流程。HC-SR0d共有4个引脚,分别为VCC、Trig、Echo和GND。当小车开始工作时,树莓派会通过10口给出10微秒的高电压来触发Trig,当Trig被触发后,超声波测距模块会产生8个40KHz的方波,并检测是否有方波返回,若检测到有方波返回则会通过Echo引脚输出一个高电平,高电平持续的时间就是方波从发射到返回所经历的时间。通过距离计算公式便可得出障碍物的距离,公式如下:

S=T×C

s为障碍路距小车的距离,T为高电平持续的时间,C为光速。由于没有温度补偿,可能会有一点误差,但对小车的影响可忽略不计。小车的4个超声波测距仪分别搭载于小车的四周,每次同时发射超声波检测障碍物,人物距离测定模块会自动处理四个超声波测距仪传来的信息,并生成相应的信号传给车体控制模块,使小车能够朝着没有障碍物的路线行进。

3实测分析

为了测试基于树莓派的人物追踪系统的稳定性,小车经历了大量的试验。在测试期间,小车的摄像头能实时锁定人物,并随之转动,同时还能指引小车追踪人物。当小车与人物距离在增大时,小车能够及时加速追上人物并将距离稳定在1米左右。当目标人物有较大幅度的方向改变时,小车会自动缩短与人物之间的距离。若在途中遇到障碍物,小车会自动调整方向,选择一条无障碍物的路线继续行进。大量的实测数据能够证明,基于树莓派的人物追踪系统已经十分稳定。图4是用户实测的流程。

4结论

本文就如何实现基于树莓派的人物追踪系统作了详细的阐述,各个模块通过信息的传递、参数的读取来实现各个模块之间协调工作,以实现人物特征值提取功能,超声波自动测距避障功能。并且在测试时期间,小车能够流畅的实现障碍物的躲避和摄像头对用户的锁定,最终达到了预期要求,完成了对人物的追踪任务。