文摘

本文提出并演示了一个单行的不连续跟踪识别系统相关联的类人机器人的跟踪识别问题车道检测问题。建议使机器人实现稳定运行在单行的不连续。该系统包括两个部分:机器人端和图形计算端。机器人端负责收集跟踪信息和图形计算最终负责高性能计算。这两个零件使用的TCP通信。图形计算方面使用PolyLaneNet车道检测算法训练的从第一个角度跟踪图像捕获darwin-op2机器人的数据集。推断,机器人端发送收集跟踪图像图形计算,使用图形处理器加速计算。在获得运动矢量,它传回到机器人。机器人端解析运动向量获取运动信息的机器人,机器人可以实现稳定运行在单行的不连续。提出了系统实现的直接识别机器人的第一视角图像,避免了稳定性差的问题,无法识别曲线和不连续线,和其他问题在传统的线检测方法。同时,本系统采用PC之间的合作方法,机器人通过部署在PC端算法具有较高的计算需求。 The data transmission is carried out by stable TCP communication, which makes it possible for the robot equipped with weak computational controllers to use deep-learning-related algorithms. It also provides ideas and solutions for deploying deep-learning-related algorithms on similar low computational robots.

1。介绍

仿人机器人田径项目主要要求机器人在最短的时间内到达终点通过各种轨迹而无需人工控制。评估标准主要包括机器人的通行时间,正确的沿着轨迹运动方向,障碍轨迹的识别效果。常见的田径跑道是单实线和曲线,双实线和曲线,单一不连续线和曲线,双不连续线和曲线,等。有些歌曲还包括向上和向下的斜坡,上下楼梯,障碍,十字路口,和其他元素,大大测试机器人的综合技术水平和他们的团队。我们的设计着重于确定单一连续的和不连续轨迹被第一人称的机器人。本质上,仿人机器人的跟踪识别田径竞争主要是识别一个或多个线路图中捕捉到机器人的第一人。这些线有不同的颜色,连续状态,十字路口,和其他特点,发挥指导作用在机器人的运动,类似于人类的航迹线田径竞争和车辆的车道线在路上开车。机器人使用不同的算法来识别跟踪的偏移位置和指导方向,得到不同形式的轨道。然后,后处理分析是进行轨迹的偏移位置和姿态的方向来确定机器人的运动方向在接下来的时刻,使用一个固定的步骤修改运动的横向偏移量或直接提供一个方向向量。

有很多种跟踪识别算法对类人机器人田径比赛。最简单的算法是基于光电传感器的识别方法,它使用的色彩差别航迹线颜色和轨道底部颜色识别。一些复杂的算法是基于摄像头的各种视觉算法。摄像机部署在机器人抓住了第一人称或non-first-person机器人的实时图像识别,包括像素比较法等传统识别算法、踝关节(1转换方法,连通域识别方法,线段的角度计算(2),和深度学习识别算法(3- - - - - -14深卷积神经网络识别算法等)。田径比赛的人形机器人,单行或两行的不连续的跟踪通常是更加困难比连续跟踪识别。为了解决这一问题的快速、准确识别单行的不连续的跟踪由机器人,本文全面检查各种视觉识别算法和非可视识别算法,结合车道线检测算法PolyLaneNet [15];部署在仿人机器人是深学习算法计算能力较低,因此,它可以准确地确定航迹线仿人机器人在田径比赛中,从而达到高层次的竞争的影响。

PolyLaneNet算法构造线的识别问题的多项式公式分析的任务线。常见的车道或赛马场可以解析为一个N阶多项式(N是自然数)。PolyLaneNet首先将图像放入深卷积神经网络(EfficientNet之一(16,17],ResNet34 [18)、ResNet50 ResNet101)进行特征提取,然后提取的特征是位得到多项式公式,可以准确地描述。它确保识别精度高,具有较高的计算速度。PolyLaneNet算法最初是用来解决车道线检测的问题。因为仿人机器人的车道线识别问题田径竞争类似于车道线检测问题,甚至在大多数情况下它是比车道线的问题简单(减少阻塞的车道线边车,有许多的小巷,有许多类型的车道线,车道线是厚和更明显比车道线和更容易识别),本文将移植PolyLaneNet算法性能优良的车道线检测问题的跟踪识别问题人形机器人田径比赛。

摘要单行的不连续的跟踪识别系统设计包括两个部分:机器人端和图形计算端。图形计算结束由电脑或GPU(图形处理器)服务器包含一个独立的图形计算卡。机器人相机捕捉实时图片后,图片传输图形计算通过TCP(传输控制协议)通信结束。图形计算结束执行PolyLaneNet算法推理和过程的实时图片收到的TCP通信推理结果获得机器人下一步应该移动的方向向量。方向向量传回到机器人通过TCP通信。机器人接收方向向量,并控制舵机转向。的平均速度和识别稳定性darwin-op2机器人在这一幕已经大大改善了。具体来说,darwin-op2机器人运行稳定在田径跑道上自己的速度(实际0.12 m / s)的0.5倍和0.7倍速度(实际0.15 m / s),满足运行要求的机器人在田径跑道上。全速甚至机器人表现不错,只是偶尔耗尽。良好的性能取得了在许多实验和控制。

2。相关的算法

2.1。航迹线识别算法

在仿人机器人田径比赛,团队使用各种方法来识别轨道线。下面将介绍几种常用识别方法在仿人机器人田径比赛。

首先,第一个识别方法是基于一个光电传感器。光电传感器的光强度接收终端,它可以将接收到的光强度转换成一个电信号模拟值。由于区别航迹线的颜色和背景颜色的跟踪在比赛中,反射光强度是不同的,模拟值转换成电信号也是不同的。基于光电传感器的识别算法利用上述原理识别追踪线和不同的航迹线跟踪背景来区分不同的模拟值的间隔。这种识别方法的缺点是,它很容易受到外部环境光强度,阈值变化很大,和不同光照条件的泛化能力弱。它需要调整传感器阈值每次比赛之前。由于传感器本身的特点,它不能支持机器人的快速运动,不能认识到不连续的跟踪。

第二个像素比较法是根据相机。首先,捕捉的图像,相机被高斯滤波预处理,二值化,膨胀,腐蚀得到二值化图像,航迹线是白色的,背景是黑色的或航迹线是黑色,背景是白色的。然后,二进制图像的像素是根据一定的规则和遍历像素的位置照片中的航迹线。这个算法的缺点是很容易形成错误的识别噪声或大面积彩色图像预处理后块;同时,不连续跟踪的识别效果很差。

此外,基于相机的连通域识别算法使用频繁。首先,图像被相机被高斯滤波预处理,二值化,膨胀,腐蚀一个二进制图像。然后,二进制图像的连通域识别和最大连通域是航迹线。横向偏移、倾角和航迹线的其他信息可以通过计算获得连接领域。该算法仍不能消除大面积颜色块的干扰和不连续的识别效果跟踪也是可怜的。

霍夫变换算法基于相机也是识别方法之一。由高斯滤波预处理,图像边缘检测和二值化。然后,笛卡儿坐标系统的图像映射到极坐标系统。算法采用局部最大值,设置阈值,和过滤器的每个点的极坐标系统噪声。最后,点在极坐标系转换回笛卡尔坐标系统,这是原始图像的直线识别的算法。该算法可以识别的干扰不连续,免疫噪音,和大面积彩色块和直线的识别能力强。然而,很容易形成错误的长带干扰检测和识别能力弱了曲线。

2.2。车道检测算法

上述常见的航迹线识别方法在不同的方面都有缺陷。在这篇文章中,我们注意到,在仿人机器人识别跟踪行田径赛事是找到适合一个或多个排长队或在一个ROI的利益(地区)地区的形象,这是用于指导机器人在一定方向。车道检测问题的自动驾驶领域的本质上是寻找或符合巷的ROI区域图像,用于指导汽车在一定的方向。同时,车道检测类似于跟踪识别;有连续和不连续线,不同程度的噪声干扰和阻塞,并实时问题。因此,本文认为航迹线识别的问题在仿人机器人田径赛事和自动驾驶的车道线检测问题本质上是同样的问题。他们都是用来识别一个或多个行ROI区域指导的方向运动,这可以通过相同或相似的解决方法。车道检测的问题以彩色图像为输入和图像分割的例子,一些点,或作为输出参数。本文总结了一些常见的车道检测方法如下。

传统的车道检测算法主要是基于霍夫变换检测方法是一样的霍夫变换检测方法。近年来,快速发展的深度学习和卷积神经网络的连续成功在许多计算机视觉任务,各种研究团队逐渐靠近车道检测问题的解决方案深度学习的方法。目前,几种常用的车道检测方法基于深度学习主要包括检测方法、网格法、多项式回归方法,和anchor-based检测方法。

检测方法主要包括Lanenet [19),基本20.),悲伤,等等。Lanenet算法是一个经典的算法,广泛应用于工业。它属于实例分割算法,但它的缺点是,它依赖于集群和检测结果是不稳定的。基本算法是一个语义分割算法,它使用方法类似于RNN学习时空信息。它定义了K线提前,使K为每个像素分类预测,最后结合点与相同的结果得到车道线检测,但缺点是识别速度慢。悲伤的算法也是一种分割算法;其结构轻于基本算法,识别速度快于基本算法,但识别精度相对较低。

网格方法的主要思想是将图像的像素问题转化为一个细胞的问题,这是类似于将采样的概念。识别速度更快,而是因为它相当于降低图像的分辨率,算法的识别精度较低。

多项式回归方法是符合车道线成一个n阶多项式(n是一个自然数)。识别的速度更快,但多项式回归方法的缺点是,它依赖于先验和较低的灵活性在复杂的场景

基于锚点的检测方法类似于目标检测方法。提前一些线和不同的角度定义及其补偿。这种检测方法还取决于先天的和较低的灵活性在复杂的场景。

3所示。算法的选择

3.1。原来的算法

之前带着航迹线识别算法用于这个设计,我们的团队使用的航迹线识别算法是基于上面提到的相机像素比较法。

首先,照相机是用来捕捉图像的机器人从第一个视图。然后,图像从一个三通道色彩图像一个单通道的灰色图像和灰色图像是根据某一阈值的关键(阈值需要手动调整在比赛会场的色彩和照明),以便跟踪的颜色变成黑色和航迹线的颜色为白色。转换过程如图1

然后,二进制图像分为两个区域(该地区的高度范围可调)和两个区域逐像素比较找到航迹线。后外侧偏移轨道线路的上部和下部区域,两者的加权和横向偏移和偏移量添加基于一些决策方法。最后的补偿是机器人的横向偏移量需要在未来前进的时刻。

具体的过程是遍历像素的像素比较每个区域从上到下。每一行的像素,遍历从中间到两边。当遇到连续三个白色像素,航迹线,满足白(二值化之后)。横坐标位置像素的记录并存储在数组中。逐行遍历结束后,白色的横坐标航迹线中发现每一行存储在数组平均然后图像中的中间点的横坐标是减去当前区域的平均横向偏移轨道。如果没有记录在当前的区域,横向偏移量为0。这个方法的时间复杂度是O (n2)。

基于摄像头的像素比较方法简单的逻辑,短时间内消费,但它比较像素,只识别本地,然后当地认可的结果结合形成一个全球的决定。局部识别的缺点是很容易被噪声干扰,大面积的颜色块(如图2)。一旦有干涉图中远离真正的航迹线,最终全球决策将是不准确的。因为它的像素逐行识别和小跟踪区域(一般来说,相机只捕获的一小部分跟踪机器人前),一旦遇到不连续航迹线,它将不会找到航迹线。

3.2。PolyLaneNet算法

为了减少或消除噪音和大面积的颜色块干扰和实现不连续的识别跟踪,我们需要一个算法来识别全球信息,增加轨道的面积被机器人第一人称的画面。常见的算法如笛卡儿坐标系统映射到极坐标霍夫变换系统,重组所有本地信息,然后进行本地识别在极坐标系统使用全局信息伪装方式,消除噪声和nonlong栏颜色块干扰,并实现识别线性跟踪不连续,但他们不能识别曲线跟踪好。卷积神经网络可以识别局部信息和全局信息通过使用许多旋转几次检查图像,提取高维度特征,可充分满足噪声的干扰和大面积的颜色块,不仅可以识别线性跟踪不连续,而且不连续的曲线轨道,抗干扰能力增强,提高航迹线识别的能力。缺点是计算很大,需要大量的数据来训练模型。考虑上述几种方法之后,本文最后决定使用深度学习的方法(深卷积神经网络)来识别跟踪。部署模型的方法在PC(个人电脑)和与机器人通信通过无线局域网(局域网)解决问题,人类电脑控制器无法忍受卷积神经网络计算。

之前的论文列出了几种不同的车道检测方法的原理和影响基于深度学习。在自动驾驶车道检测相比,现场跟踪线识别在仿人机器人田径竞赛更简单(如图3),但是它要求较高的实时性能。因此,本文选择多项式回归方法,它具有更快的识别速度和较高的识别精度,但对现场环境的要求也越来越高。PolyLaneNet(车道通过深多项式回归估计)算法在2020年是一个很好的多项式回归在车道检测算法。的理论FPS(每秒帧数)算法是115和算法的准确性93% TuSimple数据集。如果是移植到仿人机器人的航迹线识别田径竞赛,其高FPS可以减少时间成本,提高实时性能尽可能和航迹线的简单场景识别也会降低算法的错误检测和失踪检测率并确保识别的准确性。因此,本文使用PolyLaneNet算法来识别轨道线。

4所示。基于PolyLaneNet算法设计

4.1。原理概述

在实际应用中,有许多问题在车道线的识别或跟踪线在田径比赛,如阻塞、磨损、不连续线,等等。线的形状是瘦和长,导致信号稀疏的监督,难以检测。与此同时,高实时任务需要。基于卷积神经网络,PolyLaneNet算法本文使用ResNet系列网络或EfficientNet网络骨干从图像中提取特征。提取的特征通过一层完整的连接层得到几个一维向量;每个向量包含信息的最高点,最低点线的图形信息和多项式系数的信心。该算法结构如图4

PolyLaneNet预计从前瞻性的垂直相机拍摄的图像作为输入,输出,对于每一个图像,马克斯车道标记候选人(表示为多项式),以及垂直位置h的地平线,这有助于定义路面标志的上限。PolyLaneNet由骨干网络的架构(特征提取)与一个完全连接层马克斯+ 1输出,输出1,…,马克斯对车道标记预测和输出马克斯+ 1h。PolyLaneNet采用多项式表示的车道标记而不是一个点集。因此,对每一个输出j,j= 1,…,马克斯,该模型估计系数pj={一个j k,}Kk= 0表示多项式,显示如下: 在哪里K是一个参数,它定义了多项式的顺序。如图4多项式限制域:图像的高度。除了系数,PolyLaneNet估计,每个车道标记j,垂直偏移sj和预测信心得分cj∈[0,1]。总之,PolyLaneNet模型可以表示如下: 在哪里是输入图像和θ模型参数。在推理时,如图4,只有信心的车道标志候选人得分大于或等于阈值被认为是探测到。

4.2。骨干的过程

骨干的原始意义是人的支柱,然后扩展到柱子的意义,核心,等等。骨干代表整个模型在深入学习的基础,因为随后的任务,如分类、检测、和生成是基于提取的特征,所以在视觉领域,骨干是图像特征提取的过程。在机器视觉领域,深度卷积神经网络主要用于提取图像特征。卷积神经网络使用卷积检查指定大小的图像,旋卷,得到图像纹理和其他特性,然后使用这些特性对各种后处理。卷积神经网络使用反向传播梯度下降法和其他方法学习和更新的参数卷积核的卷积内核和重量参数不需要手动调整。由于神经网络的非线性建模能力强,卷积神经网络在许多应用场景可以解决大多数问题。卷积神经网络的基本结构如图5

PolyLaneNet算法需要ResNet系列网络或EfficientNet系列网络作为特征提取模型的骨干。ResNet EfficientNet网络和属于深卷积神经网络。ResNet系列网络实现更深层次的发展网络通过“剩余单位,这使得网络认识到更高级的功能。EfficientNet系列网络全面提高了深度、宽度、和解决网络的输入图像,使用网络结构搜索方法搜索网络结构,以获得低资源消耗的结果,高效率,低成本的网络识别精度高。

4.3。后处理过程

输入图像转化为一维向量的长度(6 n+ 1)特征提取后深度卷积神经网络的骨干。我们把它变成一个7的二维特性 n(7维向量)的输出,其中包含的信息N行。每一行的信息包括四个多项式系数,一个纵坐标最低的点,一个纵坐标的最高点,一个置信水平。后处理几个步骤后,我们需要用一系列的点来表示认可。

首先,我们过滤掉不承认这条线的向量(0)的向量和信心,把向量识别线(因为这系统做单跟踪识别,只有最高的矢量可靠性保留)。然后,我们遍历这些向量,提取纵轴坐标的最高点和最低点的每一行,构造一组100基于两个垂直坐标,并把它的高度分为100相等的部分。然后,我们适应行根据四个多项式系数和数组长度为100把计算的横坐标与纵坐标分为100个零件组成100坐标,这代表我们适合的特定形状的线。

最后,安装线的决策过程。最高点,中间点,最低点计算加权的区别,需要控制机器人的方向向量在接下来的时刻,然后将其发送给机器人通过TCP通信。

整个后处理流程图如图6

5。实现不连续的跟踪系统

5.1。系统流图

因为cm740的计算能力,核心控制董事会darwin-op2机器人,不足以支持PolyLaneNet算法推理,gtx1650超级电脑显卡是用于推理模型。和机器人之间的信息传输电脑支持无线局域网。

整个机器人的单行的不连续的跟踪识别系统由不连续跟踪、机器人、电脑终端,和一个局域网,如图7

因为机器人和电脑之间的通信需要高稳定和UDP(用户数据报协议)通信丢包的问题,我们选择更稳定的TCP通信代替UDP通信。

整个系统的操作过程如下:(我)机器人和PC握手在局域网建立TCP通信。(2)机器人相机捕捉单线图从第一个角度,包图片到一个套接字包,并将其传输到PC通过TCP通信。(3)在接受套接字包,电脑码数据转换成图片。(iv)在电脑方面,转换图像放入PolyLaneNet算法正向推理和N维向量在特征提取后获得的骨干。(v)电脑端进行后处理的N维向量从正向推理,获得适合数组可以代表航迹线,提取最高点的坐标,中间点和航迹线的最低点。(vi)PC端计算最高点的坐标,中间点,提取轨道线的最低点,获得航迹线的方向向量(即方向向量,机器人需要移动下一个时刻),包成一个套接字包,发送给机器人通过TCP通信。(七)接受套接字包后,机器人码数据转换成一个数组向量和向量的值传递到API控制机器人运行在指定的方向。(八)下一刻,机器人相机将继续从第一个角度捕捉单线图和重复步骤2 - 7日。

系统的业务流程图如图8

5.2。数据集

摘要3141张照片与普通地板为跟踪和5厘米紫色的线为航迹线进行收集和RGB三个渠道重新排列和组合数据集的18846张照片。在图所示的数据集9

在电脑方面,图像首先扩展到640人 360年储蓄和数据集如图9。然后,图像是由“标签我”注释的软件。每幅图片都带有7分代表航迹线,如图10

6。结果和优化

6.1。初步结果

系统是一个绿色的跟踪和测试5厘米宽的白色轨道。为了确保稳定的识别,正常速度的一半速度(0.24 m / s)的机器人用于测试和平均速度约为0.11 m / s。平均速度是0.14米/秒,识别稳定性很差。最后,用来测试正常速度,平均速度是0.15米/秒,和识别稳定性很差。三个案例的FPS系统的总6 - 9。总结了实验结果表1

6.2。增加系统的FPS

根据初步结果,可以看出系统的FPS非常低,从而导致机器人的反应速度慢,导致其经常偏离轨道。可以缓解这个问题,解决了通过减少机器人的运动速度和时间消耗的系统程序。系统的泛化能力差和机器人只能认识到绿色轨道和白色轨道线。如果轨道或轨道线的颜色改变,机器人不能识别它。这个问题可以通过使用更多的数据集来解决培训和正常化的颜色屏幕。

因为仿人机器人田径竞争的终极目标就是以最快的速度到达目的地,减少机器人的运动速度可以提高稳定性,但它是终极目标相反,这种方法可以治愈的症状而不是问题的根源。因此,有必要提高系统通过减少时间消耗FPS系统的程序。通过单独的时间消耗的检测系统的每一个过程,它是发现最耗时的过程是TCP通信传输图片部分,个人电脑的后处理部分算法,控制机器人运动的一部分。因为部分控制机器人的运动直接调用底层的API,它无法优化,所以本文试图优化TCP通信部分和算法后处理部分。

本文的主要细节屏幕不会丢失和识别准确率不受影响。首先,图像从320年开始减少 240 - 40 22日决议然后打包成套接字传输的数据包。这大大减少了TCP通信传输时的数据量,从而大大缩短传输时间。图像压缩后,可以减少一半的比例。虽然保留了图像的主要信息,数据量改变原来的0.01146倍,这使得传播的耗费时间大大减少。

系统优化后的结果如表所示2

可以看出,平均速度、识别稳定,和系统FPS机器人的这一幕已经显著提高,符合要求的机器人在田径跑道上运行。

7所示。结论

本设计采用基于深度学习的方法(深卷积神经网络)来检测单线,曲线,连续和不连续航迹线仿人机器人田径比赛。发现轨道线路检测问题的本质在仿人机器人田径比赛是一样的,在自动驾驶。因此,自动驾驶车道检测的解决方案应用到仿人机器人的跟踪检测问题田径赛事。选择高fps和高精度PolyLaneNet模型检测单线连续和不连续轨迹线在田径赛事。由于深层神经网络强大的非线性建模能力,系统可以直接识别机器人的第一人称形象,避免各种各样的问题在传统的线检测方法(稳定性差、不能识别曲线不连续线,等等)。然而,由于有限的计算能力darwin-op2 cm740控制器的机器人,它无法直接携带深层神经网络。因此,该系统使用的方法与机器人在PC端,部署PolyLaneNet算法具有高计算能力需求在PC端,使用局域网连接个人电脑和机器人,并通过稳定的TCP通信传输数据。它使darwin-op2机器人配备了弱计算能力控制器使用深度学习相关算法和还提供想法和解决方案部署深度学习相关算法类似的低计算能力的机器人。

随后,我们将解决噪音问题的结果向量PolyLaneNet算法获得的图像被相机由于强烈抖动期间机器人运行我们可以缓解和解决这个问题通过使用卡尔曼滤波器和其他方法获得的结果向量PolyLaneNet算法。使用动态信息,卡尔曼滤波器不仅能过滤掉噪音引起的抖动,而且预测的指导方向航迹线在下一时刻。从理论上讲,它可以缓解噪声问题引起的强烈的画面抖动在某种程度上。

数据可用性

没有数据被用来支持本研究。

的利益冲突

作者宣称没有利益冲突。

确认

这项工作得到了北京自然科学基金(4202026)、秦新人才培养计划,北京信息科技大学(QXTCP A202102),交叉训练的高水平人才计划,北京科技大学学生创新项目和一般项目北京市教育委员会科学研究项目(KM202011232023)。