首页 / 专利库 / 广播 / 帧内预测 / 一种移动机器人单目视觉跟随系统及跟随方法

一种移动机器人单目视觉跟随系统及跟随方法

阅读:640发布:2020-05-11

专利汇可以提供一种移动机器人单目视觉跟随系统及跟随方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种移动 机器人 单目视觉跟随系统及跟随方法。该跟随系统包括搭载在轮式移动平台上的单目摄像机和 笔记本电脑 ,以及与笔记本电脑同处于一个无线局域网内且无线通信连接的图形工作站,单目摄像机捕捉获取观测到的实时 视频流 数据并传输给笔记本电脑,笔记本电脑对实时视频流数据进行预处理,然后传输给图形工作站对实时视频流数据中的目标行人进行识别和 跟踪 ,笔记本电脑通过目标跟随控制策略生成轮式移动平台运动控制指令,轮式移动平台接收笔记本电脑生成的运动控制指令执行运行动作,实现对单目摄像机观测的目标行人的实时跟随。该系统和方法可以实现对目标行人的精确跟踪,成本低、可移植性强,应用前景广阔。,下面是一种移动机器人单目视觉跟随系统及跟随方法专利的具体信息内容。

1.一种移动机器人单目视觉跟随系统,其特征在于,包括单目摄像机、图形工作站、笔记本电脑和轮式移动平台,其中单目摄像机和笔记本电脑均搭载在轮式移动平台上,图形工作站和笔记本电脑同处于一个无线局域网内且无线通信连接,单目摄像机捕捉获取观测到的实时视频流数据并传输给笔记本电脑,笔记本电脑对实时视频流数据进行预处理,然后传输给图形工作站对实时视频流数据中的目标行人进行识别和跟踪,笔记本电脑通过目标跟随控制策略生成轮式移动平台运动控制指令,轮式移动平台接收笔记本电脑生成的运动控制指令执行运行动作,实现对单目摄像机观测的目标行人的实时跟随。
2.根据权利要求1所述的移动机器人单目视觉跟随系统,其特征在于,在所述笔记本电脑中,设置有视频流输入模、压缩格式视频流处理模块和无延迟图像信息传输模块,其中视频流输入模块用于采集输入单目摄像机拍摄的视频流并进行预处理,完成对输入视频图像的畸变校正;压缩格式视频流处理模块用于对预处理的视频流进行压缩处理,降低视频数据传输的数据量;无延迟图像信息传输模块则用于对压缩后的视频流进行无延时的通信传输,由笔记本电脑传输给图形工作站。
3.根据权利要求2所述的移动机器人单目视觉跟随系统,其特征在于,在所述图形工作站中,包括目标检测模块和多目标跟踪模块,通过这两个模块之间的融合交互运行,实现YOLOV3目标检测算法和Deep SORT多目标跟踪算法融合,实现对特定行人目标的检测和跟踪。
4.根据权利要求3所述的移动机器人单目视觉跟随系统,其特征在于,在所述笔记本电脑中,还设置有图像信息处理及显示输出模块、目标跟随控制策略模块和速度平滑处理模块,所述图像信息处理及显示输出模块用于对目标行人对象通过矩形框进行标注显示;目标跟随控制策略模块用于根据轮式移动平台与被跟随目标之间的距离和方位,确定跟随控制策略,并生成运动控制指令到轮式移动平台;速度平滑处理模块用于对运动控制指令进行平滑处理,控制轮式移动平台的平滑运行;轮式移动平台包括运动执行模块,用于接收运动控制指令后直接控制轮式移动平台的运动。
5.一种移动机器人单目视觉跟随方法,基于权利要求4所述的移动机器人单目视觉跟随系统进行跟随运行,其特征在于,包括步骤:
步骤一,单目摄像机拍摄到的视频流实时输入到笔记本电脑进行预处理,然后由所述笔记本电脑进行格式化压缩处理,再将经过压缩处理的视频流数据通过无线局域网络实时传输给图形工作站;
步骤二,所述图形工作站利用目标检测算法和多目标跟踪算法,对接收的视频流数据按照视频帧序列进行处理,确认连续视频帧之间不同的目标行人,计算输出视频流数据中每一帧所能够预测到的所有目标行人对应的普通目标行人属性数据;
步骤三,根据预设的特定目标行人确认在视频流数据中的被跟随行人,通过所获得的普通目标行人属性数据,对所述特定目标行人进行过滤提取处理,按时间顺序格式化输出经过处理后的特定目标行人属性数据并传输给笔记本电脑,在笔记本电脑显示并标记包括特定目标行人属性数据的视频;
步骤四,笔记本电脑根据特定目标行人属性数据,利用目标跟随控制策略,解算输出运动控制指令输入到轮式移动平台;
步骤五,轮式移动平台接收运动控制指令并执行指令,控制轮式移动平台运行并跟随特定目标人。
6.根据权利要求5所述的移动机器人单目视觉跟随方法,其特征在于,在步骤一中,单目摄像机拍摄到的视频流实时输入到笔记本电脑进行预处理包括:对单目摄像机进行内外参数标定,获得摄像机的内参矩阵A和外参矩阵[R|T],即世界坐标系转换到摄像机坐标系的旋转矩阵R和平移矩阵T,以及畸变系数[k1,k2,k3,p1,p2],包括摄像机的径向畸变系数k1,k2,k3,以及摄像机的切向畸变系数p1,p2,选取使用内参矩阵A及畸变系数[k1,k2,k3,p1,p2]作为输入参数,得到输入视频流中每一帧图像与畸变校正后图像的坐标映射关系,进行图像的重映射,从而得到畸变校正后的图像。
7.根据权利要求6所述的移动机器人单目视觉跟随方法,其特征在于,在步骤一中,在完成压缩处理后的视频流后,首先,在笔记本电脑注册视频流话题A的发布者,设置该视频流话题的发布消息缓存队列为1,并将该处理后的数据在上述话题A中进行发布,使得话题A的订阅者接收到的总是最新的消息;其次,在图形工作站,与笔记本电脑处于同一局域网内,注册视频流话题A的订阅者将系统中话题A订阅者的订阅消息缓存队列也置为1,同时将话题A订阅者的缓冲区大小空间设置充足,使得对视频流由笔记本电脑至图形工作站实时传输和接收。
8.根据权利要求7所述的移动机器人单目视觉跟随方法,其特征在于,在步骤二中,图形工作站在步骤一中通过订阅话题A经传输所得到的视频流数据,基于YOLOV3网络结构的目标检测算法及Deep SORT多目标跟踪算法,首先进行目标检测及特征提取,设定循环检测帧序列,直到帧中出现目标类为行人的目标信息,即检测到目标行人,将该帧作为初始帧并遍历该帧中符合行人特征的所有目标,同时按目标检测出现的时间顺序进行从数字1开始进行升序编号,并计算输出对应目标行人编号在该帧中的相对位置信息;然后进行特征提取,为目标行人建立最初的运动模型及外观模型,并使用上述模型在下一帧时结合图像特征信息对目标对象区域进行预测,预测的数据与目标检测结果进行比较验证,计算实时视频流中每一帧所能够预测到的所有目标行人分别对应的目标区域特征参数信息,即普通目标行人属性数据;在图形工作站,注册话题B的发布者将计算处理后的普通目标行人属性数据在话题B中进行发布,数据信息格式为{id,width,height,horizontal_offset},其中id指目标行人的编号,width指目标区域相对于整帧图像的像素宽度,height指目标区域相对于整帧图像的像素高度,horizontal_offset指目标区域中心点平偏移整帧图像中心的垂直像素距离,包含正负偏差。
9.根据权利要求8所述的移动机器人单目视觉跟随方法,其特征在于,在步骤三中,预设两种特定目标行人作为系统在实时运行过程中的被跟随行人,一种特定目标行人是系统自动获取当其启动时所检测到的第一个目标行人,其对应的编号始终为1,而另一种特定目标行人则是系统一直选取当前帧所识别出的编号最小的目标行人;
在确定了被跟随的特定目标行人编号之后,在笔记本电脑注册话题B的订阅者,以订阅接收步骤二中所得到的普通目标行人属性数据{id,width,height,horizontal_offset},然后对视频流的每一帧图像信息中的目标行人对象,用矩形框进行标注,并将标注处理后的图像视频流在笔记本电脑进行实时显示;
进一步根据已确认的被跟随的特定目标行人的编号对接收到的普通目标行人属性数据进行过滤提取处理,只保留与被跟随特定目标行人编号相符合的特定目标行人属性数据;
在笔记本电脑,注册话题C的发布者将过滤提取后的特定目标行人属性数据在话题C中按时间顺序进行发布,特定目标行人属性数据信息格式为{width,height,horizontal_offset}。
10.根据权利要求9所述的移动机器人单目视觉跟随方法,其特征在于,在步骤四中,在笔记本电脑,注册话题C的订阅者接收步骤三中所发布的过滤提取后的特定目标行人属性数据{width,height,horizontal_offset},为特征参数width和horizontal_offset分别指派两个比例系数m、n,估计被跟随特定目标行人与轮式移动平台的相对位置参数,包括距离值和度值;
进一步根据轮式移动平台的运动模型,使得轮式移动平台的轮式移动平台的运动状态分解为平移速度和旋转速度,将所述距离值和角度值代入直线运动与转弯运动控制策略,解算输出轮式移动平台的运动控制指令,包括线速度值和角速度值,即{move_distance,move_angle};
在笔记本电脑,注册话题D的发布者将解算处理后的轮式移动平台的运动控制指令在话题D中进行发布;再通过注册话题D的订阅者订阅接收前述所发布的解算处理后的运动控制指令,对运动控制指令进行平滑修正。

说明书全文

一种移动机器人单目视觉跟随系统及跟随方法

技术领域

[0001] 本发明涉及机器人技术领域,尤其涉及一种移动机器人单目视觉跟随系统及跟随方法。

背景技术

[0002] 服务型机器人是指非从事工业生产的全自主或半自主工作的机器人,服务机器人中以移动机器人居多,一般来说,服务机器人与工业机器人的一个主要差别在于服务机器人所处的应用环境是以人为主的复杂的非结构化环境,目标跟随技术作为自主可移动的服务于个人/家庭的服务机器人核心应用技术领域中的一种,是一融合了计算机视觉机器学习、多传感器融合、机器人运动建模控制等诸多科研领域的系统性学科技术。
[0003] 现有的成熟的机器人目标跟随技术普遍存在成本高、可移植性弱、鲁棒性较差的特点,多依赖于双目摄像机、激光雷达等价格昂贵的传感器,且并不能实现对特定的动态目标进行跟踪,或须佩戴配套连接设备,成本增加且极其不方便。
[0004] 基于单目摄像机的目标跟随技术可以从一定程度上解决目前所遇到的这些问题,这种方案所依赖的算法更突出和强调对视觉信息(RGB数据流)的利用,且成本相较而言极低,潜更大。而且基于单目视觉的图像处理技术同时也涉及到目标检测、多目标跟踪等视觉图像处理核心技术,是相同领域不同技术之间的相互融合,可产生较大的产业价值与广阔的市场前景。不论从社会应用价值方向还是技术趋产业化方向,研究在复杂的多人非结构环境下如何能够兼顾低成本可控性、高可移植性和较好鲁棒性去实现目标跟随技术,将是解决代替传统方案所导致的高成本甚至低跟踪准确性,以至于无法实际应用到现实生活中的一系列问题的新发展方向。

发明内容

[0005] 本发明主要解决的技术问题是提供一种移动机器人单目视觉跟随系统及跟随方法,解决现有技术中服务机器人组成复杂、实现成本高、缺乏可移植性等问题。
[0006] 为解决上述技术问题,本发明采用的一个技术方案是提供一种移动机器人单目视觉跟随系统,包括单目摄像机、图形工作站、笔记本电脑和轮式移动平台,其中单目摄像机和笔记本电脑均搭载在轮式移动平台上,图形工作站和笔记本电脑同处于一个无线局域网内且无线通信连接,单目摄像机捕捉获取观测到的实时视频流数据并传输给笔记本电脑,笔记本电脑对实时视频流数据进行预处理,然后传输给图形工作站对实时视频流数据中的目标行人进行识别和跟踪,笔记本电脑通过目标跟随控制策略生成轮式移动平台运动控制指令,轮式移动平台接收笔记本电脑生成的运动控制指令执行运行动作,实现对单目摄像机观测的目标行人的实时跟随。
[0007] 优选的,在所述笔记本电脑中,设置有视频流输入模、压缩格式视频流处理模块和无延迟图像信息传输模块,其中视频流输入模块用于采集输入单目摄像机拍摄的视频流并进行预处理,完成对输入视频图像的畸变校正;压缩格式视频流处理模块用于对预处理的视频流进行压缩处理,降低视频数据传输的数据量;无延迟图像信息传输模块则用于对压缩后的视频流进行无延时的通信传输,由笔记本电脑传输给图形工作站。
[0008] 优选的,在所述图形工作站中,包括目标检测模块和多目标跟踪模块,通过这两个模块之间的融合交互运行,实现YOLOV3目标检测算法和Deep SORT多目标跟踪算法融合,实现对特定行人目标的检测和跟踪。
[0009] 优选的,在所述笔记本电脑中,还设置有图像信息处理及显示输出模块、目标跟随控制策略模块和速度平滑处理模块,所述图像信息处理及显示输出模块用于对目标行人对象通过矩形框进行标注显示;目标跟随控制策略模块用于根据轮式移动平台与被跟随目标之间的距离和方位,确定跟随的前进、后退、停止和转向控制策略,并生成运动控制指令到轮式移动平台;速度平滑处理模块用于对运动控制指令进行平滑处理,控制轮式移动平台的平滑运行;轮式移动平台包括运动执行模块,用于接收运动控制指令后直接控制轮式移动平台的运动。
[0010] 本发明还公开了一种移动机器人单目视觉跟随方法,基于前述的移动机器人单目视觉跟随系统进行跟随运行,包括步骤:
[0011] 步骤一,单目摄像机拍摄到的视频流实时输入到笔记本电脑进行预处理,然后由所述笔记本电脑进行格式化压缩处理,再将经过压缩处理的视频流数据通过无线局域网络实时传输给图形工作站;步骤二,所述图形工作站利用目标检测算法和多目标跟踪算法,对接收的视频流数据按照视频帧序列进行处理,确认连续视频帧之间不同的目标行人,计算输出视频流数据中每一帧所能够预测到的所有目标行人对应的普通目标行人属性数据;步骤三,根据预设的特定目标行人确认在视频流数据中的被跟随行人,通过所获得的普通目标行人属性数据,对所述特定目标行人进行过滤提取处理,按时间顺序格式化输出经过处理后的特定目标行人属性数据并传输给笔记本电脑,在笔记本电脑显示并标记包括特定目标行人属性数据的视频;步骤四,笔记本电脑根据特定目标行人属性数据,利用目标跟随控制策略,解算输出运动控制指令输入到轮式移动平台;步骤五,轮式移动平台接收运动控制指令并执行指令,控制轮式移动平台行进轮运行并跟随特定目标人。
[0012] 优选的,在步骤一中,单目摄像机拍摄到的视频流实时输入到笔记本电脑进行预处理包括:对单目摄像机进行内外参数标定,获得摄像机的内参矩阵A和外参矩阵[R|T],即世界坐标系转换到摄像机坐标系的旋转矩阵R和平移矩阵T,以及畸变系数[k1,k2,k3,p1,p2],包括摄像机的径向畸变系数k1,k2,k3,以及摄像机的切向畸变系数p1,p2,选取使用内参矩阵A及畸变系数[k1,k2,k3,p1,p2]作为输入参数,得到输入视频流中每一帧图像与畸变校正后图像的坐标映射关系,进行图像的重映射,从而得到畸变校正后的图像。
[0013] 优选的,在步骤一中,在完成压缩处理后的视频流后,首先,在笔记本电脑注册视频流话题A的发布者,设置该视频流话题的发布消息缓存队列为1,并将该处理后的数据在上述话题A中进行发布,使得话题A的订阅者接收到的总是最新的消息;其次,在图形工作站,与笔记本电脑处于同一局域网内,注册视频流话题A的订阅者将系统中话题A订阅者的订阅消息缓存队列也置为1,同时将话题A订阅者的缓冲区大小空间设置充足,使得对视频流由笔记本电脑至图形工作站无延迟传输和接收。
[0014] 优选的,在步骤二中,图形工作站在步骤一中通过订阅话题A经传输所得到的视频流数据,基于YOLOV3网络结构的目标检测算法及Deep SORT多目标跟踪算法,首先进行目标检测及特征提取,设定循环检测帧序列,直到帧中出现目标类为行人的目标信息,即检测到目标行人,将该帧作为初始帧并遍历该帧中符合行人特征的所有目标,同时按目标检测出现的时间顺序进行从数字1开始进行升序编号,并计算输出对应目标行人编号在该帧中的相对位置信息;然后进行特征提取,为目标行人建立最初的运动模型及外观模型,并使用上述模型在下一帧时结合图像特征信息对目标对象区域进行预测,预测的数据与目标检测结果进行比较验证,计算实时视频流中每一帧所能够预测到的所有目标行人分别对应的目标区域特征参数信息,即普通目标行人属性数据;在图形工作站,注册话题B的发布者将计算处理后的普通目标行人属性数据在话题B中进行发布,数据信息格式为{id,width,height,horizontal_offset},其中id指目标行人的编号,width指目标区域相对于整帧图像的像素宽度,height指目标区域相对于整帧图像的像素高度,horizontal_offset指目标区域中心点平偏移整帧图像中心的垂直像素距离,包含正负偏差。
[0015] 优选的,在步骤三中,预设两种特定目标行人确认系统在实时运行过程中的被跟随行人,一种特定目标行人是系统自动获取当其启动时所检测到的第一个目标行人,其对应的编号始终为1,而另一种特定目标行人则是系统一直选取当前帧所识别出的编号最小的目标行人;在确定了被跟随的特定目标行人编号之后,在笔记本电脑注册话题B的订阅者,以订阅接收步骤二中所得到的普通目标行人属性数据{id,width,height,horizontal_offset},然后对视频流的每一帧图像信息中的目标行人对象,用矩形框进行标注,并将标注处理后的图像视频流在笔记本电脑进行实时显示;进一步根据已确认的被跟随的特定目标行人的编号对接收到的普通目标行人属性数据进行过滤提取处理,只保留与被跟随特定目标行人编号相符合的特定目标行人属性数据;在笔记本电脑,注册话题C的发布者将过滤提取后的特定目标行人属性数据在话题C中按时间顺序进行发布,特定目标行人属性数据信息格式为{width,height,horizontal_offset}。
[0016] 优选的,在步骤四中,在笔记本电脑,注册话题C的订阅者接收步骤三中所发布的过滤提取后的特定目标行人属性数据{width,height,horizontal_offset},为特征参数width和horizontal_offset分别指派两个比例系数m、n,估计被跟随特定目标行人与轮式移动平台的相对位置参数,包括距离值和度值;进一步根据轮式移动平台的运动模型,使得轮式移动平台的轮式移动平台的运动状态分解为平移速度和旋转速度,将所述距离值和角度值代入直线运动与转弯运动控制策略,解算输出轮式移动平台的运动控制指令,包括线速度值和角速度值,即{move_distance,move_angle};在笔记本电脑,注册话题D的发布者将解算处理后的轮式移动平台的运动控制指令在话题D中进行发布;再通过注册话题D的订阅者订阅接收前述所发布的解算处理后的运动控制指令,对运动控制指令进行平滑修正。
[0017] 本发明的有益效果是:本发明公开了一种移动机器人单目视觉跟随系统及跟随方法。该跟随系统包括搭载在轮式移动平台上的单目摄像机和笔记本电脑,以及与笔记本电脑同处于一个无线局域网内且无线通信连接的图形工作站,单目摄像机捕捉获取观测到的实时视频流数据并传输给笔记本电脑,笔记本电脑对实时视频流数据进行预处理,然后传输给图形工作站对实时视频流数据中的目标行人进行识别和跟踪,笔记本电脑通过目标跟随控制策略生成轮式移动平台运动控制指令,轮式移动平台接收笔记本电脑生成的运动控制指令执行运行动作,实现对单目摄像机观测的目标行人的实时跟随。该系统和方法可以实现对目标行人的精确跟踪,成本低、可移植性强,应用前景广阔。附图说明
[0018] 图1是根据本发明移动机器人单目视觉跟随系统一实施例的组成示意图;
[0019] 图2是根据本发明移动机器人单目视觉跟随系统另一实施例中的功能模块组成图;
[0020] 图3是根据本发明移动机器人单目视觉跟随方法一实施例中的流程图
[0021] 图4是根据本发明移动机器人单目视觉跟随方法一实施例中的目标行人检测与跟踪方框图
[0022] 图5是根据本发明移动机器人单目视觉跟随方法一实施例中的目标行人特征标注显示示意图。

具体实施方式

[0023] 为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
[0024] 需要说明的是,除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0025] 图1显示了本发明移动机器人单目视觉跟随系统一实施例的组成图。在图1中,包括单目摄像机、图形工作站、笔记本电脑和轮式移动平台,其中单目摄像机和笔记本电脑均搭载在轮式移动平台上,图形工作站和笔记本电脑同处于一个无线局域网内且无线通信连接,单目摄像机捕捉获取观测到的实时视频流数据并传输给笔记本电脑,笔记本电脑对实时视频流数据进行预处理,然后传输给图形工作站对实时视频流数据中的目标行人进行识别和跟踪,笔记本电脑通过目标跟随控制策略生成运动控制指令,轮式移动平台接收笔记本电脑生成的运动控制指令执行运行动作,实现对单目摄像机观测的目标行人的实时跟随。
[0026] 需要指出的是,这里的图形工作站是指具备较强的快速计算能力的高性能计算机,而笔记本电脑则是具有常规计算能力的计算机,也可以是平板电脑、工控机、嵌入式控制器等,只是笔记本电脑使用更为普通而已。
[0027] 在本系统中,在图像处理性能方面,使用高性能图形工作站作为远程计算主机平台(Master),主要是利用其高性能的计算能力,平衡了不同性能计算平台,即笔记本电脑和图形工作站之间的压力,有效利用了计算资源,进而使得整体移动机器人单目视觉跟随系统具有较好的鲁棒性。
[0028] 本发明整体使用了考虑模块相对独立性及完整性的设计,对各硬件计算平台(包括笔记本电脑和图形工作站)、轮式移动平台(包括各种类型的运动底盘)的选型几乎无特殊要求,满足常规标准即可,如表1所示,更换代价很小,体现了整个系统技术方案的高可移植性。
[0029] 表1笔记本电脑和图形工作站主要性能参数
[0030]
[0031] 在系统软件环境搭建方面,为保证在硬件设备间通信时的系统的一致性,同时便于系统的多台机器之间能够在相同时间节点内进行优化和调试,本发明构建的系统中的两台上位机,即笔记本电脑和图形工作站,均在系统所涉及到的功能部分配置了版本一致的软件环境,其具体环境版本及参数如表2所示。
[0032] 表2系统软件环境主要版本配置参数
[0033]
[0034] 除此之外,本发明所采用的技术方案使用单目摄像机,例如普通RGB摄像头,成本几十元左右,进行图像采集处理,相比较通过深度摄像机(如双目摄像机,成本几千元不等)所最终实现的目标跟随技术,成本极低。同时技术方案利用单目视觉包含较多信息量的优点,将基于单目视觉的YOLOV3目标检测算法和Deep SORT多目标跟踪算法进行有机融合,并对融合后的算法做基于ROS(Robot Operating System)系统的架构化处理,实现了在复杂的多人非结构环境中对特定用户目标的跟随,减少了跟随过程中的目标丢失的情况的出现,提高了系统在实时目标跟随过程中的可靠性及准确性。
[0035] 进一步的,轮式移动平台基于其结构复杂性较低,并且在运动过程具有运行灵敏度高、操控简单、能耗较低的特点,本发明以轮式移动平台作为下位机,并搭载使用一台单目摄像机作为单目视觉图像采集平台,通过融合了结合单目视觉的目标跟随技术降低了整体技术方案成本,同时搭载使用一台笔记本电脑(作为辅助上位机)作为通信平台和辅助计算平台,除此之外,考虑到笔记本电脑的性能局限,本发明使用一台高性能图形工作站作为系统的扩展计算平台(作为主上位机),整个系统网络架构方面主要基于TCP/IP的通信方式进行设计,采用分布式的通信机制,即高性能图形工作站通过上述通信机制将其自身和笔记本电脑及轮式移动平台相连接。
[0036] 在系统功能模块设计方面,本发明构建的系统采用高内聚低耦合的设计思路,通过把系统拆分设计为若干个可独立运行的功能模块,分别为各功能模块进行统一封装、按传输数据类型分类的一致的数据通信接口,主要是采用发布者与订阅者的通信方式,从而实现了模块功能的相对独立性、完整性及整个系统技术方案的高可移植性,提高了系统在实时目标跟随过程中的鲁棒性。
[0037] 优选的,如图2所示,本系统中包括在笔记本电脑中设置的视频流输入模块、压缩格式视频流处理模块和无延迟图像信息传输模块,其中视频流输入模块用于采集输入单目摄像机拍摄的图像和视频流并进行预处理,完成对输入视频帧图像的畸变校正;压缩格式视频流处理模块用于对预处理的视频流进行压缩处理,降低视频数据传输的数据量,同时还保证满足对目标识别的要求;无延迟图像信息传输模块则用于对压缩后的视频流进行实时性的通信传输,由笔记本电脑传输给图形工作站,这里的实时性传输,不会出现视频显示停顿和中断的现象。使用压缩格式视频流处理模块和无延迟图像信息传输模块可以优化整体数据信息的网络传输,从而保证系统在目标跟随过程的实时性。
[0038] 进一步的,在图形工作站包括目标检测模块和多目标跟踪模块,通过这两个模块之间的融合交互运行,实现YOLOV3目标检测算法和Deep SORT多目标跟踪算法进行有机融合,由此可以实现对特定行人目标的检测和跟踪。
[0039] 进一步的,在笔记本电脑中,图像信息处理及显示输出模块,用于对目标行人对象通过矩形框进行标注显示,以及使用不同颜色的矩形框及文本描述对被跟随行人目标与非被跟随行人目标进行标记区分;目标跟随控制策略模块,用于根据被跟随目标之间的距离和方位,确定目标跟随前进、后退、停止和转向控制策略,并生成运动控制指令到轮式移动平台;速度平滑处理模块,用于对轮式移动平台的运动控制指令平滑处理,采用边界值控制和插值处理,解决了机器人在跟随行走过程中出现的急停、颠簸(不够流畅)、转向过头等现象,从而提高了系统在目标跟随过程中的行走稳定性,保证了整体移动机器人单目视觉跟随系统较好的跟随效果;轮式移动平台包括运动执行模块,用于接收运动控制指令后直接控制轮式移动平台的运动。
[0040] 进一步的,在图5中,数据信息输入部分主要由笔记本电脑完成,数据信息处理及显示部分主要由高性能图形工作站、笔记本电脑以及轮式移动平台共同完成,其中将对计算性能要求较高的模块部分交给高性能图形工作站,数据信息输出部分由轮式移动平台执行并完成。
[0041] 优选的,基于系统在整体执行过程中会涉及到多种数据类型的传输和转换,且最终整个系统执行过程要回归指向轮式移动平台的运动表现,本发明基于ROS机器人分布式框架去设计实现算法,使用ROS架构中鲁棒性较好的基于RPC和TCP协议的发布/订阅者模型的话题通信机制,通过定义系统所需要的消息格式并对特定消息的发布者及订阅者进行注册,发布者进行注册后形成话题并在该话题中去发布需要去传输的信息,订阅者通过注册该话题名称去订阅所需要接收的信息,由此实现各个模块之间的通信。在这里,发布者往往是具有唯一性,而订阅者可以不唯一,发布者代表的某个运行程序节点的发布,对于图形工作站和笔记本电脑运行有多个程序节点,因此可以分别是同一个话题的发布者,也可以是该话题的订阅者。使用这种发布和订阅机制有利于增强系统的可移植性,实现在图形工作站和笔记本电脑协同运行。
[0042] 基于同一构思,如图3所示,还进一步提供了该系统对应的移动机器人单目视觉跟随方法,包括以下步骤:
[0043] 步骤一S101,单目摄像机拍摄到的视频流实时输入到笔记本电脑进行预处理,然后由所述笔记本电脑进行格式化压缩处理,再将经过压缩处理的视频流数据通过无线局域网络实时传输给图形工作站;
[0044] 步骤二S102,所述图形工作站利用目标检测算法和多目标跟踪算法,对接收的视频流数据按照视频帧序列进行处理,确认连续视频帧之间不同的目标行人,计算输出视频流数据中每一帧所能够预测到的所有目标行人对应的普通目标行人属性数据;
[0045] 步骤三S103,根据预设的特定目标行人去确认在视频流数据中的被跟随行人,通过所获得的普通目标行人属性数据,对所述特定目标行人进行过滤提取处理,按时间顺序格式化输出经过处理后的特定目标行人属性数据并传输给笔记本电脑,在笔记本电脑显示并标记包括特定目标行人属性信息的视频;
[0046] 步骤四S104,笔记本电脑根据特定目标行人属性数据,利用目标跟随控制策略,解算输出运动控制指令输入到轮式移动平台;
[0047] 步骤五S105,差分轮式移动平台接收运动控制指令并执行该指令,控制轮式移动平台行进轮运行并跟随特定目标人。
[0048] 优选的,在步骤一S101中,首先使用USB接口的单目摄像机作为视频流输入设备连接笔记本电脑,并将其输出分辨率优选设定为640*480。该分辨率还可以设置为其他值,但需保持整体步骤中视频参数的一致性。
[0049] 优选的,对单目摄像机进行内外参数标定,从而获得摄像机的内参矩阵A和外参矩阵[R|T],即世界坐标系转换到摄像机坐标系的旋转矩阵R和平移矩阵T,以及畸变系数[k1,k2,k3,p1,p2],包括摄像机的径向畸变系数k1,k2,k3,以及摄像机的切向畸变系数p1,p2,选取使用内参矩阵A及畸变系数[k1,k2,k3,p1,p2]作为输入参数,得到的输入视频流中每一帧图像与畸变校正后图像的x,y坐标映射关系,即两个变换矩阵X,Y,通过这两个变换矩阵进行图像的重映射,从而得到畸变校正后的图像,完成视频流输入发布的预处理。该预处理过程是由前述的视频流输入模块实现完成。
[0050] 进一步的,在步骤一S101中,所得到的预处理后的视频流,引入可选的图像压缩算法对上述视频流进行压缩处理,由于技术方案在设计中采用松耦合设计,仅需保证在完成本步骤时保证接口输出消息格式参数达到下一接口传入要求即可,具体采用的图像压缩算法可优选调用ROS架构体系中image_transport功能包中的压缩传输模块进行处理,亦可采用其他业界通用的譬如VP8影像压缩格式等对视频流进行处理,接口输出消息格式优选输出图像编码格式为bgr8且输出分辨率要求为640*480,由此可以使得分辨率参数保持一致。该过程可以由前述的压缩格式视频流处理模块实现完成。
[0051] 进一步的,在步骤一S101中,在完成压缩处理后的视频流后,首先在笔记本电脑端注册视频流话题A的发布者,即Publisher_A,设置该视频流话题的发布消息缓存队列为1,即queue_size=1,并将该处理后的数据在上述话题A中进行发布,从而使得该话题A发布,并不在图像传输处理过慢的时候缓存节点已发布的信息,保证该话题A的订阅者接收到的永远是最新的消息,因为一般订阅者首先接收到的是消息缓存队列中最早的消息。其次,在图形工作站端,与笔记本电脑端处于同一局域网内,注册视频流话题A的订阅者,即Subscriber_A将系统中话题A订阅者的订阅消息缓存队列也置为1,同时将话题A订阅者的缓冲区大小即buff_size空间设置充足,如设置为52428800字节,由此保证对视频流信息的实时传输处理。该过程有前述对应的无延迟图像信息传输模块实现完成。
[0052] 这里,由于使用了不同的机器平台,即在笔记本电脑端和图形工作站端之间进行相互协作,此时话题A的发布者和话题A的订阅者不在同一台机器上,而同时消息又需要网络进行信息传输,网络的性能并不能保证完全稳定。网络协议的保护机制出于提前预防,通过回调函数一次性取回多条消息,即当订阅消息缓存队列不为1的时候,从而实现在网络较差、系统堵塞的情况下也能够处理已经缓存的消息,这样的设计在本发明中会累积增加网络的传输延迟,而通过将该消息队列置为1,使得系统每次读取的都是由网络传输回来的最新信息。
[0053] 同时,为了避免消息队列所使用的缓存区物理内存空间太小,例如不到一帧图像数据流的大小,而提前触发网络通信的保护机制,使得TCP的Buffer从开始就将每一帧消息都完整的缓存且不丢弃失去即时性质的消息,技术方案将该话题A订阅的缓冲区的大小设置为足够大。
[0054] 优选的,在步骤二S102中,图形工作站端在步骤一中通过订阅话题A经传输所得到的视频流数据,将其作为视频帧序列并融合应用基于YOLOV3网络结构的目标检测算法及Deep SORT多目标跟踪算法,对其进行进一步处理。
[0055] 如图4所示,首先通过上述目标检测算法处理接收到的视频帧序列,进行目标检测及特征提取,设定循环检测帧序列,直到帧中出现目标类为行人的目标信息,即检测到目标行人,将该帧作为初始帧并遍历该帧中符合行人特征的所有目标,同时按目标检测出现的时间顺序进行从数字“1”开始进行升序编号,并计算输出对应目标行人编号在该帧中的相对位置信息及其他相关特征,从而利用以上特征初始化跟踪器;然后进行特征提取,为目标行人建立最初的运动模型及外观模型,并使用上述模型在下一帧时结合图像特征信息对目标对象区域进行预测,预测的数据与目标检测结果进行比较验证。
[0056] 其中,使用运动模型预测的方法是依据上一帧目标所出现的位置去预测在当前帧中目标可能出现的位置;外观模型的作用是去验证运动模型所预测的区域被跟踪的可能性,从而在使用目标检测算法逐帧循环获取到当前帧的目标区域之后,通过提取目标区域的图像特征,对外观模型进行迭代更新,最终使用更新后的模型预测获得连续帧之间不同目标行人各自对应的绑定关系,并计算实时视频流中当前每一帧所能够预测到的所有目标行人分别对应的目标区域特征参数信息,即普通目标行人属性数据。
[0057] 与此同时,在图形工作站端,注册话题B的发布者,即Publ isher_B将计算处理后的普通目标行人属性数据在话题B中进行发布,数据信息格式为{id,width,height,horizontal_offset},其中id指目标行人的编号,width指目标区域相对于整帧图像的像素宽度,height指目标区域相对于整帧图像的像素高度,horizontal_offset指目标区域中心点水平偏移整帧图像中心的垂直像素距离,包含正负偏差,如图5所示。
[0058] 优选的,对于步骤三S103,由于所要实现的是对特定目标对象行人的跟随,优选通过预设了可选的两种特定目标行人去确认系统在实时运行过程中的被跟随行人,一种是系统自动获取当其启动时所检测到的第一个目标行人,其对应的编号始终为“1”,而另一种则是系统一直选取当前帧所识别出的编号最小的目标行人,即该编号与当前帧的目标行人相关联,是可变的。以上处理过程对应由前述的目标检测模块和多目标跟踪模块实现完成。
[0059] 这里,关于特定目标行人的跟随,第一种特定目标行人的优势在于可以基于这种流程去设计一个逻辑形式的可选项,由于第一种特定目标行人在系统初始化的时候即设定完成,该目标行人在整个系统运行过程中一直保持不变,直到系统停止运行,从而该逻辑可实现当该系统在当前的视野中找不到提前确定好的特定目标行人时,可以向运动执行模块发送低速旋转指令,线速度为0,角速度很小,相当于一个转圈寻找的过程,该逻辑执行方法在一定程度上可以去帮助系统寻找消失在视野中的被跟随目标行人,摄像头作为第一视角会根据机器人的旋转去运动。而选取第二种特定目标行人的优势在于系统运行过程中,目标行人编号的可变性,总是确定跟随在当前视野中最先出现的目标行人编号,有利于系统对不同目标行人的跟随效果,同时,基于概率极小但可能出现的跟随行人丢失的情况,此时向运动执行模块发送线速度和角速度均为0的指令,该方案可以随时清空视野,重新检测识别要跟随的目标而再次跟随,不需重新启动系统程序,从而节省了时间,体现了异常情况下系统的鲁棒性。
[0060] 进一步的,在确定了被跟随目标行人编号之后,在笔记本电脑注册话题B的订阅者,即Subscriber_B以订阅接收第二步S102中所得到的普通目标行人属性数据{id,width,height,horizontal_offset},使用该特征参数信息对第二步S102中所得到的压缩处理后的实时视频流的每一帧图像信息中的目标对象,用矩形框进行标注,结合上述确认的被跟随目标行人编号,使用不同颜色的矩形框及文本描述对被跟随行人目标与非被跟随行人目标进行标记区分,并将标记处理后的视频流在笔记本电脑进行实时显示,同时根据已确认的被跟随行人的编号对接收到的普通目标行人属性数据进行过滤提取处理,只保留与被跟随目标行人编号相符合对应的特征参数信息。该过程由前述的图像信息处理及显示输出模块来实现完成。
[0061] 在笔记本电脑,注册话题C的发布者,即Publisher_C并将过滤提取后的特定目标行人属性数据在话题C中按时间顺序进行发布,特定目标行人属性数据信息格式为{width,height,horizontal_offset}。
[0062] 优选的,对于步骤四S104,在笔记本电脑,注册话题C的订阅者,即Subscriber_C订阅接收步骤三S103中所发布的过滤提取后的特定目标行人属性数据{width,height,horizontal_offset},使用技术方案中的目标距离与角度测量策略对数据进行分析,经多次数据参数与现实情况的实际测量与对比后,优选为特征参数width及特征参数horizontal_offset分别指派两个比例系数m、n,使得原特征参数(单位为像素Pixel)与对应的比例系数相乘之后,能够大致得出所估计的现实世界中的被跟随行人与轮式移动平台的相对位置属性,即距离值distance(单位为米)和角度值angle(单位为弧度)。
[0063] 进一步的,根据轮式移动平台的运动建模,要使轮式移动平台达到理想的跟随状态,需要将轮式移动平台的运动状态分解为平移速度和旋转速度,所以需要将上述的属性值distance和angle代入方案中的目标跟随控制策略,包括直线运动与转弯运动控制策略,最终解算输出轮式移动平台的运动控制指令,即分别给出分解后的线速度值,即平移速度,单位m/s,以及角速度值,即旋转速度,单位rad/s。
[0064] 优选的,涉及到的直线运动与转弯运动控制策略如下:
[0065] 首先,系统基于直线运动所依据的距离及转弯运动所依据的角度定义了三个安全参数:angle_limit、distance_limit、distance_middle,分别代表最大角度偏移、最大距离偏移和合适距离。在直线运动方面,如果输出的参数距离值distance在区间(distance_middle-distance_limit,distance_middle+distance_limit)之间,则系统认为被跟随目标所处的距离是合适的,不会生成向轮式移动平台发送的运动控制指令,这里对应是线运动控制指令;当不在该距离区间时,系统会根据距离远近的正负性及其绝对值的大小,渐变地生成向轮式移动平台发送的调整后的线运动控制指令,包括含正负值,符号正负代表方向远离还是靠近,从而可以去控制轮式移动平台移动的速度及其前后方向。在转弯运动方面,由于被跟随行人相对于轮式移动平台的合适角度的弧度值为0,此时被跟随行人处于视野的正中央,所以只需要定义一个最大角度偏移去设置系统标定的合适角度范围,如果输出的参数角度值在区间(-angle_limit,+angle_limit)之间,系统不会生成向轮式移动平台发送的运动控制指令,这里对应是角运动控制指令;当不在该角度范围时,系统将根据输出角度弧度值的正负性及其绝对值的大小,渐变生成需要向轮式移动平台发送的调整后的角运动控制指令,包含正负值,符号正负代表方向左右偏移,进而去控制轮式移动平台的移动速度及左右方向。这是由前述的目标跟随控制策略模块的处理流程实现的。
[0066] 在笔记本电脑端,注册话题D的发布者,即Publisher_D将解算处理后对轮式移动平台的运动控制指令在话题D中进行发布,数据信息格式为{move_distance,move_angle}。
[0067] 进一步的,由于仅仅使用通过处理后的视频流信息所迭代解算出的轮式移动平台的运动控制指令,并不能够完全契合现实世界中的状况,在实际的测试中会发现,如果直接使用该指令数据用于实现执行对轮式移动平台运动的控制,会导致轮式移动平台在运行过程中整体速度的不均衡性和间断性,从而导致系统在跟随目标的过程中的运动经常表现得太过激烈灵敏,从而出现急停、颠簸、转向过头等现象。
[0068] 基于这种情况,本发明又引入速度平滑处理算法对轮式移动平台运动控制指令进行调整矫正处理,在笔记本电脑端,通过注册话题D的订阅者即Subscriber_D订阅接收前述所发布的解算处理后的轮式移动平台的运动控制指令{move_distance,move_angle},并结合轮式移动平台的实时速度,对运动控制指令进行平滑修正,从而达到系统最终跟随状态的平滑性,准确性和较高的鲁棒性。这是由前述的速度平滑处理模块来实现完成的。
[0069] 优选的,有关轮式移动平台的实时速度获取途径有两种,一种是直接代入使用轮式移动平台里程计回传信息中的实时速度数据;另一种是迭代使用前一步骤中所最终产生的轮式移动平台的运动控制指令作为本步骤中的轮式移动平台实时速度,也即假设轮式移动平台能够完美遵循所收到的轮式移动平台运动控制指令,这适用于执行指令精度较高的轮式移动平台或不具有里程计信息回传功能的轮式移动平台。
[0070] 进一步的,涉及到的具体的平滑修正处理算法的处理要点如下:
[0071] 第一,限制输出轮式移动平台运动控制指令的最大线速度绝对值和最大角速度绝对值,使得最终输出的轮式移动平台运动控制指令的线速度和角速度的绝对值分别不超过限定值;第二,限制输出轮式移动平台运动控制指令的最大线加速度绝对值和最大角加速度绝对值,使得根据最终输出的轮式移动平台运动控制指令所解算出的线加速度和角加速度的绝对值分别不超过限定值;第三,设置减/加速过程中的减/加速比,即瞬时输入速度与输出速度的比值,在惯性较高的轮式移动平台中可以设置将该值适度提高,如减速过程中的安全制动;第四,可使用结合轮式移动平台的实时速度数据对输出轮式移动平台运动控制指令的速度进行修正,即使用订阅的轮式移动平台的运动控制指令的速度与轮式移动平台的实时速度数据进行比较,适时调整以确保相邻速度之间不会产生很大的跳跃;第五,提高最终的输出轮式移动平台运动控制指令的频率,即提高每秒钟最终向轮式移动平台发送的运动控制指令的个数。优选的,还可以通过辅助的指令之间的插值处理以使在满足以上运动控制指令要点的限制参数值的前提下不受输入消息频率的影响。也可以进一步进行指令之间的插值处理,插入过渡值以减少相邻两个运动控制指令的值差,从而有效减少运动控制指令的跳跃性,增强运动控制指令的连贯性。
[0072] 在对轮式移动平台的运动控制指令通过以上逻辑算法进行平滑调整矫正处理后,在笔记本电脑端,注册话题E的发布者,即Publisher_E将调整矫正处理后轮式移动平台运动控制指令数据在话题E中进行发布,数据信息格式为{linear_x,angular_z},并同时在笔记本电脑端注册话题E的订阅者,即Subscriber_E订阅接收该数据信息并根据对应的轮式移动平台通讯协议,例如可以使用串口协议或者USB通信协议,对数据信息进行处理后通过这些通信协议向轮式移动平台进行发送,以使得任意轮式移动平台能够接收并解释执行该轮式移动平台运动控制指令。这是因为考虑到程序系统的可移植性和兼容性,无论选取哪种类型的轮式移动平台都可以接收这些数据信息,只需按照对应的通信协议将这些数据信息进行封装发送即可。
[0073] 优选的,最终的根据轮式移动平台运动模型所封装的控制接口中,向轮式移动平台所发送的运动控制指令一般被简化成两类参数,分别是“geometry_msgs/Twist"linear:x"”以及“geometry_msgs/Twist"angular:z"”,它们分别表示运动控制指令所要求的轮式移动平台的实时线速度值(单位m/s)和角速度值(单位rad/s)。
[0074] 优选的,在步骤五S105中,轮式移动平台端的控制接口实时接收步骤四S104中输出的符合其自身通讯协议的格式化后的运动控制指令并解释执行,通过实现对轮式移动平台的运动控制,包括平移和旋转控制,从而完成对所标记的特定目标行人的实时跟随。
[0075] 由此可见,本发明公开了一种移动机器人单目视觉跟随系统及跟随方法。该跟随系统包括搭载在轮式移动平台上的单目摄像机和笔记本电脑,以及与笔记本电脑同处于一个无线局域网内且无线通信连接的图形工作站,单目摄像机捕捉获取观测到的实时视频流数据并传输给笔记本电脑,笔记本电脑对实时视频流数据进行预处理,然后传输给图形工作站对实时视频流数据中的目标行人进行识别和跟踪,笔记本电脑通过目标跟随控制策略生成轮式移动平台运动控制指令,轮式移动平台接收笔记本电脑生成的运动控制指令执行运行动作,实现对单目摄像机观测的目标行人的实时跟随。该系统和方法可以实现对目标行人的精确跟踪,成本低、可移植性强,应用前景广阔。
[0076] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈