CN116563814A - 自主移动机器人及利用其进行车道线检测的方法 - Google Patents

自主移动机器人及利用其进行车道线检测的方法 Download PDF

Info

Publication number
CN116563814A
CN116563814A CN202210105343.9A CN202210105343A CN116563814A CN 116563814 A CN116563814 A CN 116563814A CN 202210105343 A CN202210105343 A CN 202210105343A CN 116563814 A CN116563814 A CN 116563814A
Authority
CN
China
Prior art keywords
lane
candidate
frame image
coordinate system
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210105343.9A
Other languages
English (en)
Inventor
李乐
潘金凤
程今
暴印行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lingdong Technology Beijing Co Ltd
Original Assignee
Lingdong Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lingdong Technology Beijing Co Ltd filed Critical Lingdong Technology Beijing Co Ltd
Priority to CN202210105343.9A priority Critical patent/CN116563814A/zh
Priority to PCT/CN2022/143259 priority patent/WO2023142865A1/zh
Publication of CN116563814A publication Critical patent/CN116563814A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请提供了一种自主移动机器人、利用自主移动机器人进行车道线检测的方法、基于该方法对机器人在车道线内进行横向定位的方法、电子设备以及非瞬时性计算机可读存储介质。利用自主移动机器人进行车道线检测的方法包括:连续获取所述摄像头拍摄的输入图像,所述输入图像包括当前帧图像和历史帧图像;根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值;将所述候选车道的端点在所述机器人坐标系的坐标值转换为odom坐标系的坐标值;基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配;以及将匹配成功的候选车道的端点进行合并,并将合并后的端点拟合为当前车道线段。

Description

自主移动机器人及利用其进行车道线检测的方法
技术领域
本申请涉及机器人技术领域,具体涉及一种自主移动机器人、利用自主移动机器人进行车道线检测的方法、基于该方法对机器人在车道线内进行横向定位的方法、电子设备以及非瞬时性计算机可读存储介质。
背景技术
目前,自主移动机器人(Autonomous Mobile Robot,AMR)已经大量地应用于自动化仓储等场景中,以执行搬运、拣选等工作。为完成自身任务,机器人可使用多种方式进行定位和导航,例如二维码方式、激光方式、视觉方式等。机器人通常还使用附着于地面的车道线进行辅助定位和导航。
如果利用附着于地面的车道线进行辅助定位和导航,那么首先需要通过机器人上搭载的摄像头对车道线进行识别和检测,然后再根据检测到的车道线对机器人进行定位和导航。
然而,现有技术对车道线的检测并不准确,从而影响了定位和导航结果。例如,在自动化仓储场景中使用的自主移动机器人通常高度较矮(例如低于20或30厘米),所以机器人上搭载的摄像头距离地面较近。由于透视效应,地面上的车道线在图像里的近大远小效果很严重,远处点测距的误差较大,但是如果只用近处点进行检测,则点数较少,拟合不稳,从而影响了车道线的检测结果。
发明内容
为了解决现有技术中出现的上述问题,本申请提供了一种自主移动机器人、利用自主移动机器人进行车道线检测的方法、基于该方法对机器人在车道线内进行横向定位的方法、电子设备以及非瞬时性计算机可读存储介质。
根据本申请的一个方面,提供了一种利用自主移动机器人进行车道线检测的方法,其中所述机器人搭载有摄像头,所述方法包括:
连续获取所述摄像头拍摄的输入图像,所述输入图像包括当前帧图像和历史帧图像;
根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值;
将所述候选车道的端点在所述机器人坐标系的坐标值转换为odom坐标系的坐标值;
基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配;以及
将匹配成功的候选车道的端点进行合并,并将合并后的端点拟合为当前车道线段。
根据一个实施方式,根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值包括:
根据连续获取的输入图像中的当前帧图像,确定候选车道碎片在摄像头坐标系的坐标值;
根据所述候选车道碎片在所述摄像头坐标系的坐标值,确定所述候选车道碎片的端点在所述机器人坐标系的坐标值;以及
将同一车道的候选车道碎片合并为候选车道,并确定所述候选车道的端点在所述机器人坐标系的坐标值。
根据一个实施方式,根据连续获取的输入图像中的当前帧图像,确定候选车道碎片在摄像头坐标系的坐标值包括:
利用预设的神经网络模型获取所述当前帧图像中车道的mask二值图;
利用canny算法提取所述mask二值图的边缘图像;以及
通过hough直线检测算法处理所提取的边缘图像,以得到候选车道碎片的坐标值。
根据一个实施方式,根据所述候选车道碎片在所述摄像头坐标系的坐标值,确定所述候选车道碎片的端点在所述机器人坐标系的坐标值包括:
根据所述候选车道碎片在所述摄像头坐标系的坐标值,获取所述候选车道碎片的端点在所述摄像头坐标系的坐标值;以及
基于所述摄像头坐标系和所述机器人坐标系之间的变换关系,确定所述候选车道碎片的端点在所述机器人坐标系的坐标值。
根据一个实施方式,根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值还包括:
在合并前,去除在所述机器人坐标系中距离原点超过预设的第一阈值的候选车道碎片;和/或
在合并后,去除长度小于预设的第二阈值的候选车道。
根据一个实施方式,将同一车道的候选车道碎片合并为候选车道包括:
利用每个候选车道碎片的方向和/或每两个候选车道碎片之间的距离进行拟合。
根据一个实施方式,基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配包括:
计算所述当前帧图像中的每条候选车道与所述历史帧图像中的多条候选车道的距离;
对于所述当前帧图像中的每条候选车道,确定所述距离中的最小值;
若所述最小值小于或等于预定的第三阈值,则匹配成功;以及
若所述最小值大于所述第三阈值,则匹配失败。
根据一个实施方式,计算所述当前帧图像中的每条候选车道与所述历史帧图像中的每条候选车道的距离包括:
计算所述当前帧图像中的每条候选车道与所述历史帧图像中的每条候选车道的斜率差值;和/或
计算所述当前帧图像中的每条候选车道与所述历史帧图像中的每条候选车道的端点的距离。
根据一个实施方式,基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配还包括:
对于所述当前帧图像中的候选车道,若与所述历史帧图像中所有候选车道均匹配失败,则作为新增候选车道,并加入所述历史帧图像的候选车道集合中。
根据一个实施方式,基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配还包括:
对于所述历史帧图像中的候选车道,若与所述当前帧图像中所有候选车道均匹配失败,则作为已到尽头的候选车道,并从所述历史帧图像的候选车道集合中删除。
根据一个实施方式,该方法还包括:
将合并后的端点加入所述历史帧图像的候选车道集合中。
根据一个实施方式,将匹配成功的候选车道的端点进行合并,并将合并后的端点拟合为当前车道线段包括:
利用ransac算法过滤掉所述候选车道的端点中的异常点。
根据一个实施方式,该方法还包括:
将所述当前车道线段从所述odom坐标系变换至所述机器人坐标系。
根据本申请的另一方面,提供了一种基于如上所述的车道线检测的方法对机器人在车道线内进行横向定位的方法,包括:
基于所述当前车道线段,确定机器人在车道线内的横向位置。
根据一个实施方式,基于所述当前车道线段,确定机器人在车道线内的横向位置包括:
根据所述机器人的位置信息,对所述当前车道线段和预设的地图中对应位置的车道线进行匹配;以及
根据匹配结果确定所述机器人在所述地图中的车道线内的横向位置。
根据一个实施方式,根据匹配结果确定所述机器人在所述地图中的车道线内的横向位置包括:
基于所述地图中匹配的多条车道线,确定多个候选位置;以及
根据所述多个候选位置,确定所述机器人的横向位置。
根据一个实施方式,所述横向位置包括所述机器人的坐标位置和朝向。
根据本申请的另一方面,提供了一种自主移动机器人,包括:
车身;
处理器;
驱动装置,驱动所述车身进行移动;
摄像头,安装在所述车身上,并具有相对于所述车身的侧向视野;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的方法。
根据一个实施方式,所述摄像头包括第一摄像头,安装在所述车身的车头位置,并与所述车身的车头方向呈第一夹角。
根据一个实施方式,所述摄像头还包括第二摄像头,安装在所述车身的车头位置,并与所述车身的车头方向呈第二夹角,所述第一摄像头与所述第二摄像头间隔预定距离,并且所述第一夹角与所述第二夹角相对于所述车头方向对称。
根据本申请的另一方面,提供了一种电子设备,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的方法。
根据本申请的另一方面,提供了一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上所述的方法。
由此,由于本申请对自主移动机器人摄像头的设置,便于在机器人的移动过程中通过单目相机对车道线进行检测,而利用odom坐标系并通过历史帧匹配的方式更有助于提高检测准确度和精度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一个实施方式的自主移动机器人的侧视示意图。
图2示出了根据本申请一个实施例的摄像头的视野示意图。
图3示出了根据本申请一个实施方式利用自主移动机器人进行车道线检测的方法的流程图。
图4示出了根据本申请一个实施方式根据当前帧图像确定候选车道的端点在机器人坐标系的坐标值的流程图。
图5示出了根据本申请一个实施例将同一车道的候选车道碎片合并为候选车道的示意图。
图6示出了根据本申请一个实施方式根据当前帧图像确定候选车道碎片在摄像头坐标系的坐标值的流程图。
图7示出了根据本申请一个实施方式根据候选车道碎片在摄像头坐标系的坐标值确定候选车道碎片的端点在机器人坐标系的坐标值的流程图。
图8示出了根据本申请另一实施方式根据当前帧图像确定候选车道的端点在机器人坐标系的坐标值的流程图。
图9示出了根据本申请一个实施方式基于odom坐标系的坐标值将当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配的流程图。
图10示出了根据本申请另一实施方式利用自主移动机器人进行车道线检测的方法的流程图。
图11示出了根据本申请又一实施方式利用自主移动机器人进行车道线检测的方法的流程图。
图12示出了根据本申请一个实施方式基于当前车道线段确定机器人在车道线内的横向位置的流程图。
图13示出了根据本申请一个实施方式根据匹配结果确定机器人在地图中的车道线内的横向位置的流程图。
具体实施方式
为了更好地理解本申请的技术方案及优点,下面结合附图和具体实施例对本申请的内容做进一步详细说明。但此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。此外,以下所描述的本申请的各实施方式中所涉及到的技术特征除彼此构成冲突的情况外均可以组合使用,从而构成本申请范围内的其他实施方式。
下文中描述的内容提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开内容,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。
图1示出了根据本申请一个实施方式的自主移动机器人的侧视示意图。如图1所示,自主移动机器人100可包括车身110、驱动装置120、摄像头130。驱动装置120可安装在车身110的下部,从而驱动车身110进行移动。摄像头130安装在车身110上,并具有相对于车身110的侧向视野。例如,摄像头130可设置为朝向车身110的侧面的位姿安装,与车身110的正前方夹角可设为yaw。图2示出了根据本申请一个实施例的摄像头的视野示意图。如图2所示,以yaw设为30度为例,图2中的坐标原点O为摄像头所在位置,X轴方向为车身的正前方,虚线OA方向为摄像头的朝向。由此,该摄像头的设置便于检测到位于车身侧面的车道线,同时兼顾车身正前方。例如,摄像头的视场角度为120度,则C11OC12即为摄像头的视场FOV。如此设置的摄像头可使车道线最近可视点P距离摄像头更近。如图2所示,lDist为摄像头到车道线的真实距离,FOV范围内为摄像头的可见车道线,则车道线最近可视点P距离摄像头OP=lDist/acos(π/2-FOV/2-yaw),其中yaw越大,则OP越小,且满足0°<FOV/2+yaw<90°。
再例如,可在车身110的车头两侧分别设置摄像头,图2中原点O处为右侧摄像头,Cm为两摄像头的中点,OCm为6厘米,则车身110正前方的盲区为OCm*tan(π/2-(FOV/2-yaw))<12厘米,因此该盲区可忽略。虽然在本例中,自主移动机器人搭载有两个摄像头,但本申请不限于此,由于每个摄像头均可独立地完成车道线的检测,因此本申请可实现通过单目相机实现。
由此,根据本实施方式的自主移动机器人上的摄像头的设置,可以提高车身侧面的车道线的检测识别能力,同时兼顾了车身正前方。
此外,自主移动机器人100还可包括处理器和存储器(图中未示出),该存储器上存储有计算机程序,当该计算机程序被处理器执行时,使得处理器执行如下所述的方法。
图3示出了根据本申请一个实施方式利用自主移动机器人进行车道线检测的方法的流程图。如图3所示,该方法200可包括步骤S210、S220、S230、S240、S250。在步骤S210中,连续获取摄像头拍摄的输入图像。在自主移动机器人的行进过程中,其上搭载的摄像头进行连续拍摄,因此可获得连续拍摄的多帧输入图像,输入图像可包括当前帧图像和历史帧图像。
在步骤S220中,根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值。在输入图像中,可以在当前帧中确定候选车道的端点在机器人坐标系的坐标值,候选车道即为在图像中识别出的有可能是车道线的部分。具体确定方式将在下文中进行详细描述。
在步骤S230中,将候选车道的端点在机器人坐标系的坐标值转换为odom坐标系的坐标值。odom坐标系即里程计坐标系,它是一个世界固定坐标系,在自主移动机器人刚开始运动时,odom坐标系与map坐标系是重合的,但是随着时间的推移,出现了偏差,出现的偏差也就是里程计的累计误差,如果里程计精确度很高,没有计算误差,那么map坐标系与odom坐标系会一直是重合的。然而实际情况中,里程计是有偏差的。在odom坐标系中移动平台的位姿可以任意移动,没有任何界限。这种移动使得odom坐标系不能作为长期的全局参考。然而,在odom坐标系中的机器人的姿态能够保证是连续的,这意味着在odom坐标系中的移动平台的姿态总是平滑变化,没有跳变。在一个典型设置中,odom坐标系是基于测距源来计算的,如车轮里程计,视觉里程计或惯性测量单元。odom坐标系作为一种精确,作为短期的本地参考是很有用的,但偏移使得它不能作为长期参考。而在本申请的应用中,考虑的是连续获取的输入图像中相邻的数帧图像,因此采用odom坐标系进行计算可以确保结果是精确的。
在步骤S240中,基于odom坐标系的坐标值,将当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配。在自主移动机器人刚刚开始运行时,摄像头也刚刚开始获取输入图像,在处理第一帧时,还没有历史帧图像,在处理到第二帧、第三帧等等后续帧时,历史帧图像中即已有候选车道,此时可在odom坐标系下将当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配。
在步骤S250中,将匹配成功的候选车道的端点进行合并,并将合并后的端点拟合为当前车道线段。如果匹配成功,则可将该候选车道的端点进行合并、拟合,形成当前车道线段,从而完成对车道线的检测。根据一个实施例,在进行合并、拟合前,可利用ransac算法过滤掉候选车道的端点中的异常点。
由此,由于本申请对自主移动机器人摄像头的设置,便于在机器人的移动过程中通过单目相机对车道线进行检测,而利用odom坐标系并通过历史帧匹配的方式更有助于提高检测准确度和精度。
图4示出了根据本申请一个实施方式根据当前帧图像确定候选车道的端点在机器人坐标系的坐标值的流程图。如图4所示,上述步骤S220可包括子步骤S221、S222、S223。在子步骤S221中,根据连续获取的输入图像中的当前帧图像,确定候选车道碎片在摄像头坐标系的坐标值。在获取到每一帧图像时,首先得到的坐标值是在摄像头坐标系下的坐标值。具体如何确定候选车道碎片在摄像头坐标系的坐标值,将在下文中进行详细描述。
在子步骤S222中,根据候选车道碎片在摄像头坐标系的坐标值,确定候选车道碎片的端点在机器人坐标系的坐标值。在子步骤S221确定了候选车道碎片在摄像头坐标系的坐标值后,在子步骤S222可利用该坐标值确定候选车道碎片的端点在机器人坐标系的坐标值,例如可定义为laneSeg3dList。具体如何实现从摄像头坐标系到机器人坐标系的变换,将在下文中进一步详述。
在子步骤S223中,将同一车道的候选车道碎片合并为候选车道,并确定候选车道的端点在机器人坐标系的坐标值。对于在子步骤S222中确定了端点坐标值的多个候选车道碎片,可以通过该坐标值确定哪些候选车道碎片属于同一车道以进行合并,得到lane3dList,如图5所示。图5示出了根据本申请一个实施例将同一车道的候选车道碎片合并为候选车道的示意图。合并后,可确定候选车道的端点在机器人坐标系的坐标值。随后,在步骤S230中将lane3dList变换到odom坐标系,可得到lane3dListInOdom。
根据本申请一个实施例,在子步骤S223中,在将同一车道的候选车道碎片合并为候选车道时,可利用每个候选车道碎片的方向和/或每两个候选车道碎片之间的距离进行拟合。
由此,可通过坐标变换和车道碎片的合并,实现在当前帧图像中确定候选车道的端点在机器人坐标系的坐标值。
图6示出了根据本申请一个实施方式根据当前帧图像确定候选车道碎片在摄像头坐标系的坐标值的流程图。如图6所示,上述子步骤S221可包括子步骤S221A、S221B、S221C。在子步骤S221A中,利用预设的神经网络模型获取当前帧图像中车道的mask二值图。该神经网络模型可以是已经训练好的神经网络模型,从而可以直接用于获取mask的二值图。
在子步骤S221B中,利用canny算法提取mask二值图的边缘图像。随后,在子步骤S221C中,通过hough直线检测算法处理所提取的边缘图像,从而可以得到候选车道碎片在摄像头坐标系的坐标值。
图7示出了根据本申请一个实施方式根据候选车道碎片在摄像头坐标系的坐标值确定候选车道碎片的端点在机器人坐标系的坐标值的流程图。如图7所示,上述子步骤S222可包括子步骤S222A和S222B。在子步骤S222A中,根据候选车道碎片在摄像头坐标系的坐标值,获取候选车道碎片的端点在摄像头坐标系的坐标值。随后,在子步骤S222B中,基于摄像头坐标系和机器人坐标系之间的变换关系,确定候选车道碎片的端点在机器人坐标系的坐标值laneSeg3dList。根据本申请,由于摄像头是事先安装在自主移动机器人的车身上的,并且其参数已知,因此摄像头坐标系和机器人坐标系之间的变换关系可以是预设的或者已知的。因此,可以将子步骤S222A中得到的车道碎片端点在摄像头坐标系的坐标值变换为机器人坐标系的坐标值。
图8示出了根据本申请另一实施方式根据当前帧图像确定候选车道的端点在机器人坐标系的坐标值的流程图。如图8所示,除了子步骤S221、S222、S223之外,上述步骤S220还可包括子步骤S224和/或S225。
在子步骤S224中,在子步骤S223进行合并前,去除在机器人坐标系中距离原点超过预设的第一阈值的候选车道碎片。根据该子步骤,如果检测到的某个候选车道碎片距离过远(即,超出了预设的第一阈值),则为了避免远处点测距误差大的问题,可将该候选车道碎片删除,以实现降噪。也就是说,去除了laneSeg3dList中距离过远的点,得到laneSeg3dListFiltered。
在子步骤S225中,在子步骤S223进行合并后,去除长度小于预设的第二阈值的候选车道。根据该子步骤,如果合并后,某个候选车道的长度过短(即,不及预设的第二阈值),则也可将其认为是噪声,从而删除掉。
通过上述子步骤S224和S225,可去除距离过远和长度过短的噪声,从而提高检测准确度和精度。
图9示出了根据本申请一个实施方式基于odom坐标系的坐标值将当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配的流程图。如图9所示,上述步骤S240可包括子步骤S241、S242、S243、S244。在子步骤S241中,计算当前帧图像中的每条候选车道与历史帧图像中的多条候选车道的距离。
在计算当前帧的候选车道与历史帧的候选车道的距离时,可以计算当前帧图像中的每条候选车道与历史帧图像中的每条候选车道的斜率差值作为二者的距离,还可以计算当前帧图像中的每条候选车道与历史帧图像中的每条候选车道的端点的距离作为二者的距离。
在子步骤S242中,对于当前帧图像中的每条候选车道,确定其与历史帧图像中所有候选车道距离中的最小值matchDistmin。也就是说,遍历历史帧图像中的候选车道,确定出距离最近的那一条。并且,事先预设第三阈值,如果该最小值matchDistmin小于或等于第三阈值,则匹配成功(子步骤S243);如果该最小值matchDistmin大于第三阈值,则匹配失败(子步骤S244)。以当前帧lane3dListInOdom中的第j个候选车道和历史帧histList中的第i个候选车道为例,匹配histList[i]和lane3dListInOdom[j]的距离,如果小于或等于预设的第三阈值,则认为匹配,记为histList[i].matchDist。如果多个j都与i相匹配,则可取matchDist最小的lane3dListInOdom[j],拼接histList[i]得到更新的histList[i]。
根据一个实施例,对于当前帧图像中的候选车道,如果其与历史帧图像中所有候选车道均匹配失败,则说明该候选车道是在当前帧图像中新增的候选车道,那么可将其加入到历史帧图像的候选车道集合中(由于在处理下一帧时,目前的当前帧将成为历史帧)。例如,可遍历histList,从而得到更新的histList。由此,在自主移动机器人的行进过程中,摄像头拍摄到的新出现的车道,将能够添加至历史帧图像的候选车道集合中,以用于后续帧的计算处理。
根据另一实施例,对于历史帧图像中的候选车道,如果其与当前帧图像中所有候选车道均匹配失败,则说明该候选车道已在当前帧中消失(例如,该车道在上一帧已走到尽头),那么可从历史帧图像的候选车道集合中将其删除。例如,对于历史帧中的某个候选车道,遍历lane3dListInOdom,都无法找到与其匹配的候选车道,则可认为该车道已到尽头,可从histList中删掉。由此,在自主移动机器人的行进过程中,当某条车道从摄像头的视野中消失时,可将该车道从历史帧的候选车道集合中删除,从而避免影响后续的计算处理。
图10示出了根据本申请另一实施方式利用自主移动机器人进行车道线检测的方法的流程图。如图10所示,除了步骤S210至S250,该方法200还可包括步骤S260。在步骤S260中,将合并后的端点加入历史帧图像的候选车道集合中。由此,当自主移动机器人继续行进并由摄像头继续拍摄图像时,在处理下一帧图像的过程中,当前帧即已成为历史帧,所以在处理当前帧图像是合并的端点可加入历史帧图像的候选车道集合中,以用于后续帧的计算处理。
图11示出了根据本申请又一实施方式利用自主移动机器人进行车道线检测的方法的流程图。如图11所示,除了步骤S210至S250,该方法200还可包括步骤S270。在步骤S270中,将当前车道线段从odom坐标系变换至机器人坐标系。由此,可便于后续的定位程序对自主移动机器人进行横向定位。
如上所述,对于histList[i],可利用ransac算法过滤掉候选车道的端点中的异常点,再拟合得到histList[i].fitline,然后再经由步骤S270,把odom坐标系下的histList[i].fitline变换为机器人坐标系下的histList[i].fitlineInBase。最终取所有候选车道的fitlineInBase,以用于后续的定位程序对自主移动机器人进行横向定位。
根据本申请,基于上述方法200的车道线检测结果,可对机器人在车道线内进行横向定位。对机器人在车道线内进行横向定位的方法可包括步骤S310,在步骤S310中,利用方法200中得到的当前车道线段,可确定机器人在车道线内的横向位置。例如,可在机器人***中预设一些与车道线呈不同角度和/或不同距离拍摄的车道线图片。随后,将方法200中得到的当前车道线段与预设的车道线图片进行匹配,并根据匹配结果获得机器人的横向坐标和方向。
如果考虑车道线的种类不同,还可根据不同种类的车道线预设不同的图片。例如,车道线可能包括单实线、单虚线、双实线等不同种类。那么,可根据这些不同种类的车道线预设不同的图片,以便于匹配。
图12示出了根据本申请一个实施方式基于当前车道线段确定机器人在车道线内的横向位置的流程图。如图12所示,上述步骤S310可包括子步骤S311和S312。在子步骤S311中,根据机器人的位置信息,对当前车道线段和预设的地图中对应位置的车道线进行匹配。具体的匹配方式可参照上述子步骤S241至S244的方式,在此不再赘述。
随后在子步骤S312中,根据匹配结果确定机器人在地图中的车道线内的横向位置。
由此,可利用上述方法200的车道线检测结果,对机器人在车道线内进行横向定位。
图13示出了根据本申请一个实施方式根据匹配结果确定机器人在地图中的车道线内的横向位置的流程图。如图13所示,上述子步骤S312可包括子步骤S312A和S312B。在子步骤S312A中,基于地图中匹配的多条车道线,确定多个候选位置。随后,在子步骤S312B中,根据多个候选位置,确定机器人的横向位置。如上所述,在自主移动机器人的车身上可设置有两个或者更多个摄像头,每个摄像头均可独立地拍摄输入图像,并可利用其拍摄的输入图像进行车道线的检测。那么也就是说,借助两个或更多个摄像头,可以检测出多条当前车道线(例如,一左一右两个摄像头,可分别检测出车身左侧和右侧的车道线),并可利用这些车道线分别对机器人进行横向定位。因此,将有可能出现多个候选位置的情况,也就是说,利用各摄像头拍摄的输入图像所检测出的不同车道线,所得到的机器人的横向位置可能有所偏差。可利用任何已知的技术,根据多个候选位置来确定机器人的横向位置,例如,可对多个候选位置求平均。
根据一个实施例,上述横向位置可包括机器人的坐标位置(x,y)和朝向θ。
根据本申请的另一方面,提供了一种电子设备,其包括处理器和存储器,该存储器存储有计算机程序,当该计算机程序被该处理器执行时,使得该处理器执行如以上任一个实施方式所述的方法。
根据本申请的另一方面,提供了一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当该指令被处理器执行时,能够使得该处理器执行如以上任一个实施方式所述的方法。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过其通信部件从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置执行如上所述的方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (22)

1.一种利用自主移动机器人进行车道线检测的方法,其中所述机器人搭载有摄像头,所述方法包括:
连续获取所述摄像头拍摄的输入图像,所述输入图像包括当前帧图像和历史帧图像;
根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值;
将所述候选车道的端点在所述机器人坐标系的坐标值转换为odom坐标系的坐标值;
基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配;以及
将匹配成功的候选车道的端点进行合并,并将合并后的端点拟合为当前车道线段。
2.如权利要求1所述的方法,其中,根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值包括:
根据连续获取的输入图像中的当前帧图像,确定候选车道碎片在摄像头坐标系的坐标值;
根据所述候选车道碎片在所述摄像头坐标系的坐标值,确定所述候选车道碎片的端点在所述机器人坐标系的坐标值;以及
将同一车道的候选车道碎片合并为候选车道,并确定所述候选车道的端点在所述机器人坐标系的坐标值。
3.如权利要求2所述的方法,其中根据连续获取的输入图像中的当前帧图像,确定候选车道碎片在摄像头坐标系的坐标值包括:
利用预设的神经网络模型获取所述当前帧图像中车道的mask二值图;
利用canny算法提取所述mask二值图的边缘图像;以及
通过hough直线检测算法处理所提取的边缘图像,以得到候选车道碎片的坐标值。
4.如权利要求2所述的方法,其中根据所述候选车道碎片在所述摄像头坐标系的坐标值,确定所述候选车道碎片的端点在所述机器人坐标系的坐标值包括:
根据所述候选车道碎片在所述摄像头坐标系的坐标值,获取所述候选车道碎片的端点在所述摄像头坐标系的坐标值;以及
基于所述摄像头坐标系和所述机器人坐标系之间的变换关系,确定所述候选车道碎片的端点在所述机器人坐标系的坐标值。
5.如权利要求2所述的方法,其中,根据连续获取的输入图像中的当前帧图像,确定候选车道的端点在机器人坐标系的坐标值还包括:
在合并前,去除在所述机器人坐标系中距离原点超过预设的第一阈值的候选车道碎片;和/或
在合并后,去除长度小于预设的第二阈值的候选车道。
6.如权利要求2所述的方法,其中,将同一车道的候选车道碎片合并为候选车道包括:
利用每个候选车道碎片的方向和/或每两个候选车道碎片之间的距离进行拟合。
7.如权利要求1所述的方法,其中,基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配包括:
计算所述当前帧图像中的每条候选车道与所述历史帧图像中的多条候选车道的距离;
对于所述当前帧图像中的每条候选车道,确定所述距离中的最小值;
若所述最小值小于或等于预定的第三阈值,则匹配成功;以及
若所述最小值大于所述第三阈值,则匹配失败。
8.如权利要求7所述的方法,其中,计算所述当前帧图像中的每条候选车道与所述历史帧图像中的每条候选车道的距离包括:
计算所述当前帧图像中的每条候选车道与所述历史帧图像中的每条候选车道的斜率差值;和/或
计算所述当前帧图像中的每条候选车道与所述历史帧图像中的每条候选车道的端点的距离。
9.如权利要求7所述的方法,基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配还包括:
对于所述当前帧图像中的候选车道,若与所述历史帧图像中所有候选车道均匹配失败,则作为新增候选车道,并加入所述历史帧图像的候选车道集合中。
10.如权利要求7所述的方法,基于odom坐标系的坐标值,将所述当前帧图像中的候选车道与历史帧图像中的候选车道进行匹配还包括:
对于所述历史帧图像中的候选车道,若与所述当前帧图像中所有候选车道均匹配失败,则作为已到尽头的候选车道,并从所述历史帧图像的候选车道集合中删除。
11.如权利要求1所述的方法,还包括:
将合并后的端点加入所述历史帧图像的候选车道集合中。
12.如权利要求1所述的方法,其中,将匹配成功的候选车道的端点进行合并,并将合并后的端点拟合为当前车道线段包括:
利用ransac算法过滤掉所述候选车道的端点中的异常点。
13.如权利要求1所述的方法,还包括:
将所述当前车道线段从所述odom坐标系变换至所述机器人坐标系。
14.一种基于如权利要求1-13中任一项所述的车道线检测的方法对机器人在车道线内进行横向定位的方法,包括:
基于所述当前车道线段,确定机器人在车道线内的横向位置。
15.如权利要求14所述的横向定位的方法,其中基于所述当前车道线段,确定机器人在车道线内的横向位置包括:
根据所述机器人的位置信息,对所述当前车道线段和预设的地图中对应位置的车道线进行匹配;以及
根据匹配结果确定所述机器人在所述地图中的车道线内的横向位置。
16.如权利要求15所述的横向定位的方法,其中,根据匹配结果确定所述机器人在所述地图中的车道线内的横向位置包括:
基于所述地图中匹配的多条车道线,确定多个候选位置;以及
根据所述多个候选位置,确定所述机器人的横向位置。
17.如权利要求15或16所述的横向定位的方法,其中,所述横向位置包括所述机器人的坐标位置和朝向。
18.一种自主移动机器人,包括:
车身;
处理器;
驱动装置,驱动所述车身进行移动;
摄像头,安装在所述车身上,并具有相对于所述车身的侧向视野;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-17中任一项所述的方法。
19.如权利要求18所述的自主移动机器人,其中所述摄像头包括第一摄像头,安装在所述车身的车头位置,并与所述车身的车头方向呈第一夹角。
20.如权利要求19所述的自主移动机器人,其中所述摄像头还包括第二摄像头,安装在所述车身的车头位置,并与所述车身的车头方向呈第二夹角,所述第一摄像头与所述第二摄像头间隔预定距离,并且所述第一夹角与所述第二夹角相对于所述车头方向对称。
21.一种电子设备,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-17中任一项所述的方法。
22.一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如权利要求1-17中任一项所述的方法。
CN202210105343.9A 2022-01-28 2022-01-28 自主移动机器人及利用其进行车道线检测的方法 Pending CN116563814A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210105343.9A CN116563814A (zh) 2022-01-28 2022-01-28 自主移动机器人及利用其进行车道线检测的方法
PCT/CN2022/143259 WO2023142865A1 (zh) 2022-01-28 2022-12-29 自主移动机器人及利用其进行车道线检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210105343.9A CN116563814A (zh) 2022-01-28 2022-01-28 自主移动机器人及利用其进行车道线检测的方法

Publications (1)

Publication Number Publication Date
CN116563814A true CN116563814A (zh) 2023-08-08

Family

ID=87470416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210105343.9A Pending CN116563814A (zh) 2022-01-28 2022-01-28 自主移动机器人及利用其进行车道线检测的方法

Country Status (2)

Country Link
CN (1) CN116563814A (zh)
WO (1) WO2023142865A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4744537B2 (ja) * 2008-02-05 2011-08-10 日立オートモティブシステムズ株式会社 走行レーン検出装置
CN109583280A (zh) * 2017-09-29 2019-04-05 比亚迪股份有限公司 车道线识别方法、装置、设备及存储介质
CN109300159B (zh) * 2018-09-07 2021-07-20 百度在线网络技术(北京)有限公司 位置检测方法、装置、设备、存储介质及车辆
WO2020107326A1 (zh) * 2018-11-29 2020-06-04 深圳市大疆创新科技有限公司 车道线检测方法、设备、计算机可读存储介质
CN111291603B (zh) * 2018-12-07 2023-09-29 长沙智能驾驶研究院有限公司 车道线检测方法、装置、***及存储介质
CN112528859B (zh) * 2020-12-11 2023-04-07 中国第一汽车股份有限公司 车道线检测方法、装置、设备及存储介质
CN113657282A (zh) * 2021-08-18 2021-11-16 苏州挚途科技有限公司 自车道的提取方法、装置和电子设备

Also Published As

Publication number Publication date
WO2023142865A1 (zh) 2023-08-03

Similar Documents

Publication Publication Date Title
US11320833B2 (en) Data processing method, apparatus and terminal
US20190295241A1 (en) Inspection device, control method and control apparatus for the same
CN112419776A (zh) 自主泊车方法、装置、汽车及计算设备
CN114419098A (zh) 基于视觉变换的运动目标轨迹预测方法及装置
Han et al. Robust ego-motion estimation and map matching technique for autonomous vehicle localization with high definition digital map
CN111857135A (zh) 用于车辆的避障方法、装置、电子设备和计算机存储介质
CN114684111A (zh) 一种车头先入的泊车方法、装置和***
US10970870B2 (en) Object detection apparatus
Truong et al. New lane detection algorithm for autonomous vehicles using computer vision
US20210272289A1 (en) Sky determination in environment detection for mobile platforms, and associated systems and methods
CN116189150B (zh) 基于融合输出的单目3d目标检测方法、装置、设备和介质
CN115601435B (zh) 车辆姿态检测方法、装置、车辆及存储介质
CN116563814A (zh) 自主移动机器人及利用其进行车道线检测的方法
Muffert et al. Stix-fusion: A probabilistic stixel integration technique
JPH1139464A (ja) 車両用画像処理装置
CN113469045B (zh) 无人集卡的视觉定位方法、***、电子设备和存储介质
CN114037977B (zh) 道路灭点的检测方法、装置、设备及存储介质
CN115855026A (zh) 一种大型场景图元地图切换方法、***、装置及存储介质
CN113298044B (zh) 基于定位补偿的障碍物检测方法、***、设备及存储介质
CN114998861A (zh) 车辆与障碍物的距离检测方法及装置
後方カメラ用画像処理技術 et al. Image processing technology for rear view camera (1): Development of lane detection system
Iwata et al. Forward obstacle detection in a lane by stereo vision
CN117326490A (zh) 托盘的识别方法和叉起方法以及自主移动叉车
US20240153129A1 (en) Vehicle and vehicle position calculation method
RU2769918C1 (ru) Способ позиционирования наземного транспортного средства

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination