李 强
(江苏安全技术职业学院,江苏 徐州 221000)
计算机技术的迅速发展催生了数字图像处理技术,通过使用摄像机获取外界环境并将其转化为数字信号,进行数字图像处理以实现对图像的分析和处理。数字图像处理是计算机视觉研究的基础技术之一,能够应用于运动目标的检测、跟踪和定位等方面。计算机视觉具有广阔的应用前景,涵盖了不同领域、学科和众多技术的高技术课题,同时也是智能机器人的核心技术之一。其实质是在目标动态检测的基础上运用现代滤波器进行实时追踪,并对运动物体进行定位和运动状态的预测和估计[1-2]。在工业生产、物流运输、公共安全等领域,实时监控和定位移动目标至关重要,设计高精度的运动目标跟踪定位系统可以实时获取目标的位置和轨迹信息,提供可靠的监控与安全保障。然而,由于应用场景交界处容易受到信号干扰等因素的影响,导致获取的位置信息可能存在一定的偏差。因此,需要设计一种能够克服这些问题的运动目标跟踪定位系统。
对于此类问题的研究,目前学者们已经取得了十分丰富的研究成果,涌现出了多种实现途径,如相关滤波器、深度学习等。文献[3]提出一种柑橘果园机器人仿生眼的目标跟踪与定位系统,设计基于CAM shift的目标跟踪算法实现了持续性目标跟踪。测试结果表明,该系统能够满足实际应用,准确性与鲁棒性都较高。文献[4]提出一种基于区块链技术的地面移动目标智能跟踪系统,系统以DM6446信号处理器为基础信息处理元件,结合相关软件执行环境与硬件设备实现了目标对象的实施跟踪与定位。通过对比实验,发现该系统信息处理时间得到缩短,DIA指标值却更高。文献[5]提出一种双目视觉运动目标跟踪定位系统,通过背景差分法、CamShift算法、双目视觉以及FAST角点检测算法实现了目标的检测、跟踪与定位。测试结果表明,该系统能够有效解决跟踪丢失问题,同时有着良好的实时性。
但是以上系统在应用中存在跟踪定位精度不足的问题,为此,设计一种基于超宽带技术的运动目标跟踪高精度定位系统。通过FPGA单元、VGA显示单元、帧缓存单元以及图像采集单元组建图像采集模块,基于天线、定位基站、移动节点,完成超宽带定位基站模块的设计。对采集到的图像进行灰度化处理,增强图像的清晰度,采用TLD模型跟踪运动目标,提高定位精度,利用超宽带技术实现运动目标的精准定位。
1.1.1 图像采集模块设计
图像采集模块由FPGA单元、VGA显示单元、帧缓存单元以及图像采集单元构成,能够实现运动目标跟踪与定位中的图像采集。
在图像采集单元中,选用的图像传感器为CMOS图像传感器,通过其采集运动目标的图像。选用的图像传感器具体型号为MT9M011摄像头,其数据输出格式为Bayer彩色格式,分辨率可达1 280×1 024[6]。为MT9M011摄像头配置8个寄存器,具体情况如表1所示。
表1 配置的寄存器与设定值
由于MT9M011摄像头输出的数据为Bayer彩色格式,需要通过插值算法对仅含单一颜色分量的图像像素数据进行还原,使其成为包含R、G、B三种颜色分量的图像像素数据[7]。
设计一种简单、节省硬件资源的插值算法,这种算法针对的是四个相邻的像素点,在转换前后,蓝色分量与红色分量均保持不变,而绿色分量则成为4个像素中2绿色分量的均值,最终合并成为一个三十位的RGB像素,该插值算法的像素转换原理[8]如图1所示。
图1 像素转换原理
在FPGA单元中,通过FPGA主芯片处理采集的数字信号,并对该芯片进行配置,配置情况如图2所示。
图2 FPGA主芯片配置情况
为该芯片配置50 MHz晶振,将其作为振荡器产生时钟,为芯片提供采样时钟频率。通过内核电源VCCIN实施供电,首先利用降压芯片LM7805将电压降至5 V,接着利用降压芯片LM2676将电压降至3.3 V,最后利用降压芯片LM1117将电压降至1.2 V,最终实现芯片供电。为芯片配置RC复位电路,作为其复位模块[9]。配置EPCS16作为EP2C35F672C6的外部配置芯片,用于程序的存储,其存储空间为16,777,21 6 Bits,通过AS配置模式对该存储器进行配置。
在帧缓存单元中,通过外部存储器实现图像数据的帧缓存。选用的外部存储器为SDRAM存储器,具体型号为IS42S1600。
在VGA显示单元中,通过VGA接口、D/A转换芯片实现缓存图像数据的显示。其中D/A转换芯片负责将EP2C35F672C6输出的数字信号转换为模拟数据。
1.1.2 定位基站模块设计
在超宽带技术模块中,设计超宽带运动目标定位所需的天线、定位基站、移动节点,完成超宽带定位基站的设计。
发射天线(接收天线)、接收天线使用的UWB收发芯片型号为DW1000,将其传输速率调整为6.8 Mbps,频段定为较低频段的2号频段(带宽是500 MHz,中心频率是3.99 GHz),以实现较大的运动目标定位范围。利用SMA头连接DW1000与UWB天线,天线保持竖直。
在发射天线(接收天线)、接收天线的工作中,还需要设计基站与移动节点,其中基站放置于运动目标跟踪与定位的场地周围,而移动节点则安装于运行目标上。定位基站的结构设计如图3所示。
图3 定位基站的结构设计
其中主控制器选用STM32F103,其与DW1000模块之间的通信通过SPI接口来完成。采用18650锂电池来供电,以方便定位基站的部署,并配置电量指示灯与稳压芯片。用户可以通过4位拨码开关对各基站编号(ID)进行配置,可支持16个ID。并为基站配置USB接口以便对基站进行调试。在使用定位基站时,可以将其安装于墙壁或三脚架上。
移动节点的设计具体如下:同样将STM32F103作为其主控制器,则其与DW1000模块之间的通信也同样是通过SPI接口来完成的。直接使用3.3 V电源实现其供电。利用馈线连接移动节点与UWB天线,天线保持竖直。
依据实际情况确定基站与移动节点的实际投入个数。其中基站通过集中式组网方式完成动态组网。在这种组网方式下,应用MDS-MAP算法实施坐标解算,以完成组网。
1.2.1 图像预处理方法
在图像预处理模块中,对采集图像实施一系列预处理,以增强图像中有用的信息,具体包括图像灰度化处理、形态学滤波处理。
在图像灰度化处理中,使用的处理方法是加权平均法,也就是对RGB 3个颜色分量分别赋予不同的权值,对加权和进行求取[10]。灰度值的计算公式具体如下:
ε=0.3R+0.95G+0.11B
(1)
通过形态学滤波处理能够消除噪声,并实现空洞的填补。分别实施开运算操作与闭运算操作。其中开运算操作是先实施腐蚀操作,再实施膨胀操作。在确保不明显改变图像形状和面积的基础上,能够去除一些细小孤立的点,将纤细点处的区域分离开来。该操作的表达式如下式:
ν=ε(ωΘυ)⊕υ
(2)
式(2)中ν指的是开运算结果图像;ω是指处理前的图像;υ指的是结构元素。
闭运算操作是先实施膨胀操作,再实施腐蚀操作。通过闭运算操作能够将裂缝填平,连接邻近目标[11],完成图像的预处理,表达式如下式:
ϑ=(ω⊕υ)Θν
(3)
通过上述步骤完成采集图像的预处理,便于后续的运动目标跟踪与定位。
1.2.2 基于TLD的运动目标跟踪方法
通过对图像进行预处理可以有效调整图像的清晰度,使目标在图像中更加明显和突出,提高运动目标跟踪的有效性。在运动目标检测与跟踪模块中,设计一种TLD运动目标跟踪算法。在该算法中,在运动目标移动的过程中,TLD模型会不断地学习被跟踪的运动目标,并获得目标在距离、景深、角度等层次上的变化,并对其进行持续的学习和识别,即可实现良好的运动目标跟踪效果。通过该算法可以同时实现多个运动目标的追踪。
TLD运动目标跟踪算法是一种运动目标检测与跟踪相结合的算法,能够实现自适应从而达到精准地跟踪效果[12]。算法由综合单元与TLD模型构成,其中TLD模型由跟踪器、检测器、学习单元构成,同时,跟踪器和检测器是平行工作的,它们的运行结果会被传送到学习单元,然后再对运动目标进行追踪和检测,并且对其进行实时的更新,以确保在运动目标外观产生变化的情况下也能很好地实现其跟踪。该算法的具体运行流程如下:
1)在初始跟踪阶段,将图像预处理结果向检测器传输,由检测器实施图像分析与检测。
2)但在检测过程中,检测器可能会出现错误,这时,学习单元就会对错误进行修正。学习单元的作用是为检测器提供正、负两个样本集,利用这些样本对检测器进行评估和分析,然后将分析结果传送给综合单元,由综合单元对其进行综合,从而对目标的位置信息进行预测[13]。
综合单元与TLD模型相结合,能够为设计算法带来适应性强、可靠的效果。在检测器中,为判定正负样本,输入预处理后的图像信息,给出目标模型,具体如下式:
(4)
式(4)中q+、q-指的是归一化处理以后的图像块,均会随着跟踪而出现数量上的增加。
检测器由3个子模块构成,分别为最近邻检测子模块、集合检测子模块、方差检测子模块。当被检测的图像进入检测器后,需要通过以上3个子模块,首先通过方差检测子模块,最后通过最近邻检测子模块。
经过上述各子模块的顺序后,就可以得到前景目标的图像。其中,在方差检测子模块中,需要先计算被检测图像块的方差,并设置一个阈值,将其设置为方差的二分之一,当方差计算结果大于该阈值,说明通过了方差检测,反之则直接抛弃[14]。在集合检测子模块中,采用的分类方法为随机森林检测法,因此该子模块又可以被称为随机蕨丛检测子模块。
在最近邻分类检测子模块中,归一化处理在上一子模块中被执行,然后匹配到目标模型。如果匹配成功,那么判定当前图像块中包含有被跟踪目标。该模块按以下方式运行:
1)归一化图像块,将尺寸设置为15×15;
2)对目标模型与归一化后图像块的相关相似度实施计算,计算公式具体如下:
当新产生了一个经过归一化处理的图像块q,计算q与目标模型N的相关相似度,具体公式如下:
(5)
式(5)中S″E指的是q与目标模型N的最近邻正相似度;S′E是指q与目标模型N的最近邻负相似度。
如果相关相似度符合下面的公式,那么这个图像就是一个正样本,反之,这个图像就是一个负样本。
SE(q,N)>χ
(6)
式(6)中,χ表示设置阈值。
在移动靶标翻转或伸展引起的形变过程中,需要对其目标模型N进行更新。依次经过以上三个子模块的图像区块,将其图像信息存储到dbb[15]。跟踪模块采用了BF光流和NCC跟踪失败检测两种方法。
BF光流算法是将前一帧中运动目标的像素点a和均匀抽样后的特征点相结合,对下一帧中的运动目标和位置b点进行预测。然后进行向前方向跟踪,直接从上一帧到下一帧中的目标点,并获得被标记为c的第3个位置信息点。这样就可以得到两条前进和后退的路线,并将c和a进行对比。当距离大于设置的阈值,则认为前向跟踪行为是正确的,此时已经可以抛弃一部分跟踪并不准确的点。
接着进入到NCC匹配中,通过NCC跟踪失败检测法对a点邻近的10×10的图像块与a点预测出的跟踪结果所邻近的10×10的图像块实施模板匹配,获取匹配相似度,选择匹配相似度大于中值的点作为继续使用的跟踪点[16]。
在此基础上,根据所选取的跟踪点,对下一帧中目标盒子的尺寸和位置进行预测。归一化处理预测点所对应的图像块尺寸,并将其按比例缩小到15×15,然后进行分类,计算各图像块和目标模型的保守性,如果它超过设定的阈值,则判定该跟踪是有效的。
在学习单元中,通过P-N学习模块实现检测器的错误的识别并标出。P-N学习模块中含有3个部分,分别为分类器训练、生成样本、检查一致性。
综合单元主要负责计算重叠度,以度量两个图像块在空间域上的相似度。重叠度计算公式具体如下:
(7)
式(7)中ζ50%指的是50%最近邻重叠度;ζ是指最近邻重叠度。
运行该算法前,需要实施初始化处理,具体初始化步骤如下。
1)选定跟踪块:
在第一帧中,采用一个文件来设定初始跟踪图像区块的尺寸和坐标,或者用鼠标来标示跟踪目标的边界框。
2)扫描窗口:
对整个图像进行扫描,即以运动目标的图像分块为基础,经过尺度转换得到所需的图像。在对一个窗口进行扫描时,将进行了尺度转换后的图像作为一个扫描窗口,并设定了如下的扫描原则:以左上方为起始点,步长为该图像块宽度的0.1倍,由左到右,按0.1倍的高度从上到下进行扫描,直到覆盖整个图像为止[17]。
在此基础上,确定了最小扫描窗口的大小,得到了一系列的图像分块。扫描全部图像块后对它们的重叠度进行计算。
3)初始化boxes:
在整幅图像中寻找与目标图像块box最小距离的10个窗口,其中最小距离即为当前帧中目标的位置,以此作为跟踪结果,定义如下式:
(8)
把10个窗口合并到good_ boxes容器中,重叠度小于0.2的图像分块都被放进bad_boxes容器中,这样就可以全部过滤。使用BBhull函数求出了扫描窗口的最大边缘。
4)初始化分类器:
当一幅图像很大,经过一次扫描后,会形成大量的块状图像,这就要求对图像进行分类。针对TLD的运动目标跟踪算法,将3种分类器作为检测器的3个子模块进行串联。
从第2帧起,对整个图像块进行3种分类,只有将这些分类器都通过,才能确定有应用价值的图像块。
首先,初始化方差和最近邻分类器,然后,针对第一帧获得的所有图像块,标准化过程和辐射转换过程处理包含移动对象的相应的图像块,并且存储在方差分类器中,作为正样本集。在这种情况下,可以将剩余的图像块看作是负标记[18]。在初始集分类器中,抽取正样本标记的特征值,在初始化时将其作为初值,进行样本训练和后验概率的初始化。通过运动目标检测与跟踪算法,初步判断目标区域,从而实现对运动目标的准确定位。
1.2.3 基于超宽带技术的运动目标定位方法
超宽带技术是一种无线通信的技术,主要通过非连续、短时的脉冲信号进行通信,在极短的时间内发送大量的低功率脉冲,实现高速的数据传输。它的频率范围非常广泛,可以达到几百兆赫兹甚至几个千兆赫兹,因此被称为“超宽带”。为此,基于1.2.2小节的定位基站模块,设计一种基于超宽带技术的运动目标动态定位算法,依据运动目标的跟踪结果实现运动目标的高精度定位。
该算法采用的超宽带天线组合方式为改进后的单发双收。单发双收就是利用一个发射天线B向探测区域直接发射脉冲信号a(t),并利用2个接收天线W1、W2接收运动目标的反射回波yRI(t)。通过处理两个方向的yRI(t),获取各方位向的对应径向位置,利用余弦定理完成运动目标定位,也就是依据三圆定位原理完成运动目标的定位。为实现快速定位功能,在改进中采用超宽带收发合一技术,直接共用一个发射天线与接收天线,即B=W1,并以其为原点构建坐标系。此时通过二圆交汇定位即可完成超宽带技术下的运动目标动态定位。在二圆交汇定位坐标系中,构建如下方程组:
(9)
式(9)中(X,Y)是运动目标定位结果;U1是指目标与发射天线B的距离即目标与接收天线W1的距离;(C,0)是W2的坐标;U2指的是目标与接收天线W2之间的距离[19]。则运动目标的具体坐标为:
(10)
在该超宽带技术运动目标动态定位算法中,E1区域是发射天线B即接收天线W1的探测区域,E3是接收天线W2的探测区域,而E2则是E1与E3重叠的区域。当运动目标位于E1区域时,发射天线B即接收天线W1能够实现运动目标的有效检测,当运动目标位于E3区域时,接收天线W2能够实现运动目标的有效检测,而当运动目标位于E2区域时,B=W1和W2均能够实现运动目标的有效检测。则通过探测E2区域的运动目标即可获得两个方向径向距离的对应时延,其中B=W1的时延用δ1来表示,W2的时延用δ2来表示。通过δ1、δ2这两个时延即可计算U1与U2,彻底实现对于运动目标的定位。其中将E2区域称为超宽带运动目标定位区[20]。其中U1的计算公式具体如下:
(11)
U2的计算公式具体如下:
(12)
依据公式(9)~(12)即可获取运动目标的定位结果,就此实现基于超宽带技术的运动目标跟踪定位。
对于设计的基于超宽带技术的运动目标跟踪高精度定位系统,搭建实验平台对其性能进行测试。搭建的实验平台包括四旋翼无人机与PC机。
其中PC机的配置情况具体如下:操作系统:Ubuntu16.0;cpu型号:Inter(R) Core(TM) i7-870;显卡:Nvidia 1080TiTan 12 GB;内存:64 GB;软件环境:Python3.6、TensorFlow、Pytorch 。
实验中的四旋翼无人机尺寸为159×203×56 mm,速度最高可达10 m/s,以该无人机为运动目标,实验场地为室外,背景为室外环境,包括天空、树木、房屋等。
根据MT9M011摄像头与四旋翼无人机的距离共设计两个实验,第一个实验是中距离目标跟踪与定位实验,运动目标的飞行高度为13 m,摄像头与四旋翼无人机之间距离约为15 m。第二个实验是远距离目标跟踪与定位实验,运动目标的飞行高度为20 m,摄像头与四旋翼无人机之间距离约为30 m。实验过程中保持摄像头稳定,硬件平台保持固定。
在两个实验中,共设置四种运动目标跟踪与定位的运动场景,第一种是四旋翼无人机沿着u轴运动,第二种是四旋翼无人机沿着v轴运动,第三种是沿着斜线运动,第四种是沿着S 型运动。
利用设计系统对实验运动目标实施检测、跟踪与定位。首先利用图像采集模块实施四种实验中运动目标跟踪与定位中的图像采集,并将采集数据作为实验数据集,对设计系统的性能进行测试。实验数据集的数据量为2.5 GB,共含9 856帧图像数据,其中第一个实验采集的图像帧数为3 536帧,第二个实验采集的图像帧数为6 120帧。
对实验数据集实施图像灰度化处理以及形态学滤波处理。接着利用设计的TLD运动目标跟踪算法实施运动目标检测与跟踪。最后利用设计的运动目标动态定位算法实施四旋翼无人机的高精度定位。其中在第一个实验中,第一种运动场景的运动目标定位结果如表2和图4所示。
图4 第1 934帧运动目标定位结果
表2 运动目标定位结果
其中在定位中,共设置了4个UWB基站,各UWB基站的设置坐标如下:
1)UWB基站A:(4,0,0);
2)UWB基站B:(14,16,0);
3)UWB基站C:(10,16,0);
4)UWB基站D:((0,0,0)。
首先对设计系统在各实验中以及在各运动场景下的跟踪错误率进行测试。跟踪错误率越低表示设计系统的跟踪准确度越高。跟踪错误率的计算公式具体如下:
(13)
式(13)中RT指的是跟踪窗口实际面积;ρ是视频帧数;WQ指的是运动目标面积。
对设计系统在各实验中以及在各运动场景下的定位误差进行测试。在测试中,将柑橘果园机器人仿生眼的目标跟踪与定位系统与基于区块链技术的地面移动目标智能跟踪系统作为对比测试系统,共同进行测试。在测试,分别用系统1(文献[3]系统)、系统2(文献[4]系统)表示这两种对比系统。
2.4.1 运动目标跟踪错误率实验结果分析
设计系统与系统1、系统2在u轴运动场景(场景1)、v轴运动场景(场景2)、斜线运动场景(场景3)、S型运动场景(场景4)四种运动场景下的第一次跟踪错误率测试结果如表3所示。
表3 第一个实验的跟踪错误率测试结果
根据表1测试结果,在中距离目标跟踪与定位实验中,4种运动场景下设计系统的跟踪错误率均低于0.60%,在3种测试方法中最低。而系统1、系统2的跟踪错误率在四种运动场景下均高于设计系统,其中系统2的跟踪错误率最高。在四种运动场景中,沿着S 型运动时的跟踪错误率最高,沿着斜线运动时的跟踪错误率次之,沿着u轴与v轴运动时的跟踪错误率较低。
为了避免测试结果的偶然性,对设计系统与系统1、系统2进行第二次实验,四种运动场景下的跟踪错误率测试结果如图5所示。
图5 第二个实验的跟踪错误率测试结果
在远距离目标跟踪与定位实验中,可以看到设计系统与系统1、系统2的跟踪错误率相比中距离目标跟踪与定位实验均有一定上升,其中设计系统的增幅大于系统1、系统2。比较三种测试系统可以发现,在四种运动场景中,仍然是设计系统的跟踪错误率最低,不超过2.4%,同时比较四种运动场景可以发现,仍然是沿着S 型运动时的跟踪错误率最高。
2.4.2 运动目标定位误差实验结果分析
由于沿着S 型运动时的跟踪错误率最高,因此,测试三种系统在中距离目标跟踪与定位实验中沿着S 型运动时的运动目标定位误差,其中路线弯折处的运动目标定位误差测试结果如图6所示。
图6 路线弯折处的运动目标定位误差
根据上图测试结果,在中距离目标跟踪与定位实验中,沿着S 型运动时,设计系统的路线弯折处的定位误差最低,与四旋翼无人机的飞行路线最为贴合,而系统1、系统2路线弯折处的定位误差均高于设计系统。
三种测试系统在远距离目标跟踪与定位实验中沿着S 型运动时路线弯折处的运动目标定位误差测试结果如表4所示。
表4 路线弯折处的运动目标定位误差
根据表4测试结果,在远距离目标跟踪与定位实验中,三种系统的运动目标定位误差均高于中距离目标跟踪与定位实验,其中设计系统在沿着S 型运动时的运动目标定位误差最低,最低仅为(0.002 3,0.001 2,0.000 5),而系统1、系统2的运动目标定位误差均高于设计系统,表明设计系统具有较高的定位可靠性。
为了解决运动目标跟踪与定位误差大的问题,设计了一种基于超宽带技术的运动目标跟踪高精度定位系统。设计了由FPGA单元、VGA显示单元、帧缓存单元以及图像采集单元构成的图像采集模块,实现了运动目标图像的连续采集。在此基础之上,通过TLD运动目标跟踪算法,获取运动目标在距离、景深、角度等层面的改变并不断学习、识别,既实现了多个运动目标的追踪,也实现了自适应地运动目标跟踪,提升了跟踪精度。基于超宽带技术与穿墙探测雷达的运动目标动态定位算法,依据运动目标的跟踪结果实现了运动目标的高精度定位。实验结果表明,设计系统的定位误差最小,具有良好的定位能力。