相关申请的交叉引用
本申请要求于2018年10月17日在韩国知识产权局递交的韩国专利申请no.10-2018-0123488的优先权,出于所有目的,其全部公开内容通过引用并入本文中。
以下描述涉及用于估计位置的技术。
背景技术:
当配备有全球定位系统(gps)导航系统的对象(例如车辆等)正在移动时,导航系统可以从属于多个gps的卫星接收无线电波,并验证移动对象的当前位置和移动对象的速度。导航系统可以使用从gps接收器接收的信息来计算包括纬度、经度和高度信息在内的移动对象的三维(3d)当前位置。然而,gps信号可能包括大约10米(m)到100m的gps位置误差。可以使用其他信息来校正这种位置误差。
技术实现要素:
提供本发明内容是为了以简化的形式介绍对理念的选择,以下在具体实施方式中进一步描述这些理念。本发明内容不意在确认要求保护的主题的关键特征或必要特征,也不意在用作帮助确定要求保护的主题的范围。
在一个一般方面中,估计位置的方法包括:基于针对目标所估计的定位信息和地图数据来确定第一旋转参考点;根据与目标的正视图相关联的图像数据来估计第二旋转参考点;以及使用基于第一旋转参考点和第二旋转参考点所计算的旋转参数来校正定位信息。
方法还可以包括:通过基于由传感器感测的感测数据去估计包括目标的初始位置和初始姿态在内的初始定位信息来估计定位信息。
确定第一旋转参考点可以包括:基于定位信息从地图数据中提取候选区域;以及基于候选区域来确定第一旋转参考点。
提取候选区域可以包括:提取正视图中与目标相邻的区域作为候选区域。
提取候选区域可以包括:提取包括与目标正在其中行进的车道相关联的车道边界线在内的区域作为候选区域。
确定第一旋转参考点可以包括:延伸候选区域中包括的车道边界线;以及将所延伸的车道边界线上的点中位于距目标超过阈值距离处的点确定为第一旋转参考点。
估计第二旋转参考点可以包括:基于消失点检测模型根据图像数据来检测第二旋转参考点。
消失点检测模型可以包括被训练为根据训练图像来输出训练参考点的模型。
检测第二旋转参考点可以包括:从图像数据中提取地标对象;以及基于消失点检测模型根据地标对象来检测第二旋转参考点。
校正定位信息可以包括:基于第一旋转参考点和第二旋转参考点来计算旋转参数;以及通过基于所计算的旋转参数去校正定位信息来确定最终定位信息。
计算旋转参数可以包括:确定用于校正第一旋转参考点的旋转参数,使得通过将第一旋转参考点投影到图像平面上而获得的点与第二旋转参考点匹配。
计算旋转参数可以包括:基于第一旋转参考点的三维3d坐标、第二旋转参考点的二维2d坐标、相机固有参数和目标的滚动角度来计算旋转参数。
确定最终定位信息可以包括:通过使用旋转参数去校正初始姿态来确定目标的最终姿态。
校正所述定位信息还可以包括:在确定了最终姿态之后计算目标的初始位置的位置参数;以及通过使用位置参数去校正初始位置来确定目标的最终位置。
确定最终位置可以包括:向初始位置应用第一轴上的偏移;以及向初始位置应用与第一轴不同的第二轴上的偏移。
应用第一轴上的偏移可以包括:向定位信息应用来自位置参数的与目标的水平轴相对应的分量,以及其中,应用第二轴上的偏移包括:向定位信息应用来自位置参数的与目标的纵轴相对应的分量。
计算所述位置参数可以包括:基于根据地图数据所检测到的地图地标和根据图像数据所检测到的图像地标来确定位置参数。
计算位置参数可以包括:基于根据地图数据所检测到的地图地标的2d坐标和根据图像数据所检测到的且与地图地标相对应的图像地标的2d坐标之间的差异来确定位置参数。
在另一一般方面,一种存储指令的非暂时性计算机可读存储介质,指令在由处理器执行时,使处理器执行上述估计位置的方法。
一种用于估计位置的装置,包括:传感器,被配置为感测图像数据;以及处理器,被配置为:基于针对目标所估计的定位信息和地图数据来确定第一旋转参考点,根据与目标的正视图相关联的图像数据来估计第二旋转参考点,以及使用基于第一旋转参考点和第二旋转参考点所计算的旋转参数来校正定位信息。
目标可以是车辆,且传感器可以附接到车辆。
定位信息可以包括根据gps信号和加速度信号来获得的信息。
在另一一般方面,一种估计车辆的位置的方法,包括:使用车辆的至少一个传感器,基于车辆的初始位置、车辆的初始姿态和车辆的移动来估计定位信息;基于定位信息来确定第一旋转参考点;获得与车辆的正视图相关联的图像数据;根据图像数据来估计第二旋转参考点;以及使用基于第一旋转参考点和第二旋转参考点所计算的旋转参数来校正定位信息。
校正定位信息可以包括:通过使用旋转参数去校正初始姿态来确定车辆的最终姿态。
校正定位信息还可以包括:通过使用位置参数去校正初始位置来确定车辆的最终位置,位置参数是基于根据地图数据所检测到的地图地标的坐标和根据图像数据所检测到的且与地图地标相对应的图像地标的坐标之间的差异来计算的。
估计第二旋转参考点可以包括:基于由神经网络实现的消失点检测模型,根据图像数据来检测第二旋转参考点。
根据以下具体实施方式、附图和权利要求,其他特征和方面将显而易见。
附图说明
图1示出了位置估计装置的示例。
图2和图3示出了位置估计误差的示例。
图4示出了位置估计方法的示例。
图5示出了计算参数的示例。
图6示出了第一旋转参考点的示例。
图7示出了第二旋转参考点的示例。
图8至图10示出了用于检测第二旋转参考点的消失点检测模型的示例。
图11示出了针对位置估计装置所估计的初始定位信息与位置估计装置的真实姿态之间的旋转参考点误差的示例。
图12示出了使用第一旋转参考点和第二旋转参考点来校正初始定位信息的操作的示例。
图13示出了使用旋转参数来校正定位信息的操作的示例。
图14和图15示出了使用位置参数来校正定位信息的操作的示例。
贯穿附图和具体实施方式,除非另外描述或提供,否则相同的附图标记应被理解为指代相同的元素、特征以及结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以夸张附图中元素的相对尺寸、比例和描绘。
具体实施方式
提供下面的具体实施方式以帮助读者获得对本文中所描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开之后,对本文中所描述的方法、装置和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中所描述的操作次序仅仅是示例,并且不限于在本文中所阐述的那些操作次序,而是可以在理解了本申请的公开之后显而易见地改变,除了必须按一定顺序发生的操作之外。此外,为了更加清楚和简洁,可以省略对本领域已知的特征的描述。
本文中所描述的特征可以用不同形式来体现,并且不应被解释为受限于本文中所描述的示例。相反,提供本文中所描述的示例仅仅是为了说明实现本文中所描述的方法、装置和/或系统的许多可行方式中的一些方式,在理解了本申请的公开之后这些方式将是显而易见的。
注意,在本文中,针对示例或实施例使用术语“可以”,例如说到示例或实施例可以包括什么或实现什么,意味着存在至少一个示例或实施例,其中包括这种特征或实现了这种特征,然而并不是所有示例和实施例都受限于此。
贯穿说明书,当诸如层、区域或基板之类的元素被描述为在另一元素“上”、“连接到”或“耦接到”另一元素时,它可以直接在该另一元素“上”、“连接到”、或“耦接到”该另一元素,或者可以存在介于它们之间的一个或多个其他元素。相反,当元素被描述为“直接在另一元素上”、“直接连接到”或“直接耦接到”另一元素时,可以不存在介于它们之间的其他元素。
如在本文中所使用的,术语“和/或”包括相关列出项目中的任何一个项目和任何两个项目或更多个项目的任何组合。
尽管本文中可以使用诸如“第一”、“第二”和“第三”之类的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不受这些术语的限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分加以区分。因此,在不脱离示例的教导的情况下,本文中所描述的示例中所提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。
本文中所使用的术语仅用于描述各种示例,而不用于限制本公开。除非上下文另外明确指示,否则冠词“一”、“一个”和“该”意在也包括复数形式。术语“包括”、“包含”和“具有”表示存在所陈述的特征、数目、操作、构件、元素和/或其组合,但不排除存在或添加一个或多个其他特征、数目、操作、构件、元素和/或其组合。
除非另外定义,否则本文中所使用的包括技术术语和科学术语在内的所有术语具有与本公开所属领域的普通技术人员通常所理解的含义相同的含义。术语(诸如在常用的词典中定义的术语)应被解释为具有与其在相关技术的上下文中的含义一致的含义,而不应将其解释为理想的或过于正式的含义,除非本文中明确地如此定义。
如在理解了本申请的公开内容之后将显而易见的那样,本文中所描述的示例的特征可以以各种方式组合。此外,尽管本文中所描述的示例具有各种配置,但如在理解了本申请的公开内容之后将显而易见的那样,可以是其他配置。
图1是示出了位置估计装置100的示例的框图。在本文涉及位置估计装置100的描述中,术语“目标”指代其姿态和位置由位置估计装置100来估计的对象。例如,位置估计装置100可以安装在车辆上。在该示例中,目标可以是车辆。
参考图1,位置估计装置100包括例如传感器110、处理器120和存储器130。
传感器110生成感测数据。例如,传感器110通过感测用于估计位置的信息来生成感测数据。用于估计位置的信息包括各种信号,例如全球定位系统(gps)信号、加速度信号、速度信号和图像信号。处理器120首先使用感测数据来测量初始定位信息。初始定位信息包括指示粗略测量的目标的位置和姿态的信息。例如,传感器110包括惯性测量单元(imu)和gps模块。传感器110获取指示目标的加速度和角速度的imu信号和gps信号,作为感测数据。
imu也被称为惯性测量器。imu测量姿态的改变、位置移动的改变速度和位移。imu包括感测平移运动(例如加速度)的三轴加速度计和感测旋转运动(例如角速度)的三轴陀螺仪。由于imu不依赖于外部信息,所以可以稳定地收集加速度信号和角速度信号。gps模块接收从至少三个人造卫星发送的信号,以计算卫星和位置估计装置100的位置,且gps模块也可以被称为全球导航卫星系统(gnss)。gps模块以1赫兹来测量绝对位置,并且具有相对低的噪声。因此,gps模块可以稳定地操作。imu以100hz来测量相对位置,并且以高速来执行测量。
此外,传感器110感测图像数据。例如,传感器110包括相机传感器。相机传感器接收可见光范围内的光并感测光的强度。相机传感器通过感测与红色通道、蓝色通道和绿色通道中的每个通道相对应的光的强度来生成彩色图像。然而,传感器110的类型不限于所描述的示例。传感器110可以包括例如红外传感器、激光雷达(lidar)传感器、雷达传感器、热图像传感器和/或深度传感器。相机传感器捕捉外部视图(例如来自位置估计装置100的正视图)以生成图像数据。
处理器120基于地图数据和针对目标所估计的定位信息来确定第一旋转参考点。定位信息包括与位置、姿态和移动有关的信息,例如目标的速度和加速度。
在本公开中,术语“旋转参考点”指代用作校正针对目标所估计的定位信息中的旋转误差的参考的点。第一旋转参考点是基于地图数据来确定的旋转参考点。例如,第一旋转参考点可以是与二维(2d)图像平面上的消失点相对应的三维(3d)点,并且可以指示车道边界线上的点中距图像传感器足够远的点。将参考图6来进一步描述对第一旋转参考点的确定。
处理器120根据与目标的正视图相关联的图像数据来估计第二旋转参考点。第二旋转参考点是使用由传感器110感测的图像数据来估计的旋转参考点。例如,可以将彼此平行的至少两条直线投影到2d图像平面上。在该示例中,第二旋转参考点(作为一种消失点)是直线汇聚的点。将参考图7至图10来进一步描述对第二旋转参考点的确定。
处理器120使用基于第一旋转参考点和第二旋转参考点所计算的旋转参数来校正定位信息。旋转参数是用于补偿首先估计的初始定位信息与目标的实际位置和姿态之间的误差的参数。例如,传感器110中包括的相机传感器可以附接到目标(例如车辆),以具有与目标的纵轴平行的光轴。在该示例中,由于相机传感器进行与目标的运动相同的运动,所以由相机传感器感测的图像数据包括与目标的位置和姿态相匹配的视觉信息。因此,处理器120可以应用旋转参数,使得与初始定位信息相对应的第一旋转参考点与根据图像数据来检测到的第二旋转参考点相匹配。将参考图5来进一步描述对旋转参数的计算。将参考图11至图15进一步描述对旋转的应用。
存储器130临时或永久地存储执行位置估计方法所需的数据。例如,存储器130存储用于根据图像数据和消失点检测模型的模型参数来检测旋转参考点的消失点检测模型。将参考图9和图10来描述消失点检测模型。
如上所述,位置估计装置100基于由传感器110感测的感测数据来估计包括目标的初始位置和初始姿态在内的初始定位信息。初始定位信息可以包括姿态误差和位置误差。将参考图2和图3来描述初始定位信息中的误差。
图2和图3是示出了位置估计误差的示例的图。
位置估计装置使用gps信号和加速度信号来测量初始定位信息。图2示出了初始定位信息的初始姿态具有相对于实际姿态的旋转误差δθ的情况。初始定位信息指示:包括位置估计装置在内的目标具有预定初始位置和预定初始姿态。根据地图数据(例如高清(hd)地图),与初始定位信息相对应的地图车道边界线210可以如图2所示。在由图像传感器实际捕捉的图像数据中出现的图像车道边界线220可以处于与地图车道边界线210所处角度不同的角度处。位置估计装置使用如参考图5所述而计算的旋转参数来补偿这种旋转误差。
地图数据包括与地图相关联的信息,并且包括例如与地标有关的信息。地标是固定在预定地理位置处的对象,以向驾驶员提供在道路上驾驶车辆所需的信息。例如,道路标志和交通信号灯可以属于地标。例如,根据韩国道路交通法,地标分为六类,例如警示标志、监管标志、指示标志、辅助标志、道路标志和信号标志。然而,地标的分类不限于前述。对于每个国家,地标类别可以不同。
此外,在本公开中,术语“车道边界线”指代限定车道的线。车道边界线是例如在路面或沿着道路的外缘布置的路沿上标记的实线或虚线。
图3示出了初始定位信息的初始位置具有相对于实际位置的位置误差δx的情况。根据地图数据,与初始定位信息相对应的地图车道边界线310可以如图3所示。在由图像传感器实际捕捉的图像数据中出现的图像车道边界线320可以与地图车道边界线310处于不同位置处。位置估计装置可以如参考图12、图14和图15所述地来补偿这种位置误差。
图4是示出了位置估计方法的示例的流程图。
在操作410中,位置估计装置基于针对目标所估计的定位信息和地图数据来确定第一旋转参考点。将参考图6来进一步描述对第一旋转参考点的确定。
在操作420中,位置估计装置根据与目标的正视图相关联的图像数据来估计第二旋转参考点。将参考图7至图10来进一步描述对第二旋转参考点的估计。
在操作430中,位置估计装置使用基于第一旋转参考点和第二旋转参考点所计算的旋转参数来校正定位信息。将参考图12来进一步描述使用旋转参数对定位信息的校正。
图5是示出了计算参数的示例的图。
在图5的示例中,假设第二旋转参考点540与以下点相匹配:基于预定位置误差和预定旋转误差所校正的第一旋转参考点510被投影在图像平面上的点。通过在该假设下布置等式,计算用于使以下点与第二旋转参考点540相匹配的旋转参数:该点是第一旋转参考点510被投影在图像平面上的点。位置估计装置基于第一旋转参考点510和第二旋转参考点540来计算旋转参数。在下文中,将描述导出用于计算旋转参数的等式的过程。
基于初始定位信息根据地图数据501来确定第一旋转参考点510。例如,基于初始定位信息,确定地图数据501上的目标的初始位置和初始姿态。此外,第一旋转参考点510对应于例如在目标的初始位置和初始姿态处的图像传感器所捕捉的车道边界线的消失点。如上所述,至少两个车道边界线可以实际上不在3d空间中相交。然而,当将车道边界线投影到2d图像平面上时,可以将所投影的车道边界线预测相交的点确定为第一旋转参考点510。将参考图6来进一步描述这种对第一旋转参考点510的确定。
当初始定位信息(例如初始位置和初始姿态)具有前述的位置误差和姿态误差时,对第一旋转参考点510执行位置/姿态参数校正520。例如,相对于第一旋转参考点510来补偿位置参数和姿态参数。当向被应用了位置参数和姿态参数的第一旋转参考点510应用透视投影530时,获取第一旋转参考点510的2d坐标591。这里,第一旋转参考点510的2d坐标591可以与根据输入图像503所检测到的第二旋转参考点540的2d坐标592相同。第一旋转参考点510和第二旋转参考点540之间的这种关系表示为如以下等式所示。
[等式1]
在等式1中,px、py和pz是3d坐标,例如第一旋转参考点510的x、y和z坐标。tx、ty和tz是位置参数(例如位置误差)的x、y和z位移值,其对应于平移变换。θx,θy和θz是与基于x轴的旋转误差、基于y轴的旋转误差和基于z轴的旋转误差相对应的旋转参数。
尽管v’x、v’y和v’z是便于矩阵运算的坐标,但v’x、v’y和v’z是齐次坐标系上的点,且因此被表示为2d坐标,如以下等式2所示。
[等式2]
当基于2d平面坐标来布置等式1时,获得等式3,如下所示。
[等式3]
在等式3中,如以下等式4所示来表示qx和qy。
[等式4]
在等式4中,根据消失点的特性,pz相对于py足够大(例如pz>>py),所以py/pz可以收敛到0。px/pz也被称为δx,δx是常量。此外,根据消失点的特性,移除未知数tx、ty、tz、θx、θy和θz中的tx、ty和tz。在该示例中,如以下等式5所示来表示qx和qy。
[等式5]
因此,移除qy,且qx被表示为旋转参数中的θy的值。在该示例中,当重新布置等式3时,获得等式6,如下所示。
[等式6]
在等式6中,当给出车辆的滚动角度时(例如θz=0),等式6被布置为针对θx和θy的等式。由于给出了等式6中的除未知数θx和θy之外的变量,所以建立了针对x轴旋转和y轴旋转的两个联立等式,如以下等式7所示。
[等式7]
等式6和等式7是在假设第一旋转参考点510的2d坐标591与第二旋转参考点540的2d坐标592相同的情况下导出的。因此,基于等式6和等式7,位置估计装置确定用于补偿第一旋转参考点510的旋转参数,使得第一旋转参考点510投影在图像平面上的点与第二旋转参考点540匹配。例如,位置估计装置基于第一旋转参考点510的3d坐标、第二旋转参考点540的2d坐标592、相机固有参数和滚动角度(例如目标的θz)来计算满足等式6或等式7的旋转参数。
将参考图6来描述确定第一旋转参考点的3d坐标的操作。
图6是示出了第一旋转参考点的示例的图。
位置估计装置将车道边界线上的点中距目标610足够远的点确定为第一旋转参考点650。如上所述,第一旋转参考点650对应于车道边界线631在图像平面上相交的消失点。这是因为当从目标610到点的距离足够长时,该点转换为图像平面上的消失点。
位置估计装置基于来自地图数据的位置信息来提取候选区域620。位置估计装置从地图数据库601中加载与目标610的当前位置相关联的地图数据。例如,位置估计装置提取目标610前方与目标610相邻的区域作为候选区域620。位置估计装置提取包括与车道632(目标610正在车道632中行进)相关联的车道边界线631在内的区域作为候选区域620。这是因为在限定车道632(包括位置估计装置在内的目标610正在车道632中行进)的车道边界线631中,靠近目标610的车道边界线可能被图像传感器稳定地捕捉。
位置估计装置基于候选区域620来确定第一旋转参考点650。位置估计装置延伸候选区域620中包括的车道边界线631。例如,位置估计装置从候选区域620中包括的限定车道边界线631的路点中选择至少两个路点,并延伸连接所选择的路点的直线。然而,对车道边界线631的延伸不限于该示例。位置估计装置可以计算限定车道边界线631的路点的平均梯度,并延伸具有所计算的梯度的直线。位置估计装置将位于所延伸的车道边界线640上的点中距目标610超过阈值距离641处的点确定为第一旋转参考点650。所确定的第一旋转参考点650的3d坐标表示为(px,py,pz)。尽管图6为了便于描述而示出了2d顶视图,但可以将地图数据的3d坐标系转换为以目标610(例如目标610周界上的预定点)为原点的3d坐标系。因此,第一旋转参考点650可以由基于目标610的坐标系来表示。
以下将参考图7来描述用作与第一旋转参考点650进行比较的参考的第二旋转参考点。
图7是示出了第二旋转参考点的示例的图。
位置估计装置根据图像数据来检测第二旋转参考点720。位置估计装置基于消失点检测模型根据图像数据来检测第二旋转参考点720。
例如,位置估计装置检测车道边界线710的交叉点,作为第二旋转参考点720。消失点检测模型可以通过对边界线的几何和结构信息(例如梯度)进行数学建模来获得。位置估计装置基于数学模型根据检测到的车道边界线来检测第二旋转参考点720。
然而,对第二旋转参考点720的检测不限于该示例,并且还可以将机器学习结构用作消失点检测模型。将参考图8至图10来进一步描述使用机器学习结构对第二旋转参考点720的检测。
图8至图10是示出了用于检测第二旋转参考点的消失点检测模型的示例的图。
位置估计装置基于消失点检测模型810、910和1010根据图像数据来检测第二旋转参考点。消失点检测模型可以使用机器学习结构来实现,且包括例如神经网络。
神经网络是例如深度神经网络(dnn)。dnn可以包括全连接网络、深度卷积神经网络(cnn)、循环神经网络(rnn)、深度信念网络、双向神经网络或限制玻尔兹曼机,或者可以包括分别具有全连接、卷积连接、循环连接和/或双向连接的不同的或重叠的神经网络部分。通过基于深度学习的以非线性关系相互映射输入数据和输出数据,神经网络执行例如对象分类、对象识别、语音识别和图像识别。深度学习是用于解决与例如在大数据集中的图像或速度识别有关的问题的机器学习方案。通过深度学习的监督或无监督学习来映射输入数据和输出数据。
神经网络包括输入层、隐藏层和输出层。输入层、隐藏层和输出层各自包括多个节点。
隐藏层可以用各种方式包括多个层。可以向输入层直接输入输入数据,也可以向隐藏层直接输入输入数据。在神经网络中,除输出层之外的层的节点通过用于发送输出信号的链路连接到后续层的节点。多个链路对应于后续层中包括的多个节点。
在隐藏层中包括的每个节点中,输入与前一层中包括的节点的加权输入相关联的激活函数的输出。通过将前一层中包括的节点的输入乘以突触权重来获得加权输入。突触权重也被称为神经网络的模型参数。激活函数包括例如s型(sigmoid)、双曲正切(tanh)和修正线性单元(relu)。激活函数用于形成神经网络的非线性。向输出层中包括的每个节点输入前一层中包括的节点的加权输入。
当给出输入数据时,神经网络通过隐藏层来计算与要在输出层中分类和识别的多个类别相对应的函数值,并将输入数据分类为具有最大值的类别。
当神经网络的宽度和深度足够时,神经网络可以具有实现预定功能的能力。当神经网络通过适当的训练过程学习了足够量的训练数据时,可以实现最佳识别性能。
图8示出了消失点检测模型810的基本结构。
参考图8,消失点检测模型810可以在机器学习结构中实现,该机器学习结构被训练为根据图像数据801来输出旋转参考点信息809。例如,消失点检测模型810可以包括(但不限于)前述的神经网络。旋转参考点信息809可以是与第二旋转参考点相对应的点在图像平面上的2d坐标,例如x坐标和y坐标。在消失点检测模型810中,输入层和输出层的尺寸是固定的,但隐藏层的结构可以是不受限的。
训练装置基于训练数据来训练消失点检测模型810。训练数据包括具有训练输入和训练输出的对。训练输出可以是针对预定训练输入来给出的真实数据,并且可以是训练参考点,例如旋转参考点的坐标。训练装置训练消失点检测模型810,以根据训练图像来输出训练参考点。例如,训练装置更新模型参数,使得训练参考值和基于消失点检测模型810根据训练图像所计算的临时输出之间的损失最小化。训练装置反复更新模型参数,直到损失收敛。经训练的模型被存储在位置估计装置中。
图9示出了使用车道边界检测模型920和消失点检测模型910的操作。
参考图9,位置估计装置从图像数据901中提取地标对象。例如,位置估计装置基于消失点检测模型910根据地标对象来检测第二旋转参考点,作为旋转参考点信息909。
位置估计装置将车道边界检测为地标对象。位置估计装置基于车道边界检测模型920根据图像数据901来检测车道边界。车道边界检测模型920可以是被训练为根据图像数据901来输出与车道边界相对应的点的模型。
训练装置加载预先训练的车道边界检测模型920。训练装置基于经训练的车道边界检测模型920根据图像数据901来输出车道边界图像。训练装置基于消失点检测模型910根据车道边界图像来计算临时输出,并基于临时输出和训练输出之间的损失来更新模型参数。训练装置可以仅更新消失点检测模型910的模型参数,同时维持车道边界检测模型920的模型参数。
然而,在另一示例中,可以对参考图10所描述的消失点检测模型910和车道边界检测模型920这二者执行联合训练。
图10示出了训练与图9的示例的神经网络结构相同的神经网络结构的示例。
参考图10,位置估计装置基于车道边界检测模型1020根据图像数据1001来输出车道边界信息1008。位置估计装置基于消失点检测模型1010根据车道边界信息1008来输出旋转参考点信息1009。
例如,训练装置通过向车道边界检测模型1020传播图像数据1001来计算车道边界信息1008。此外,训练装置通过向消失点检测模型1010传播车道边界信息1008来计算旋转参考点信息1009。训练装置基于旋转参考点信息1009的参考点损失和车道边界信息1008的车道边界损失,同时或顺序地更新车道边界检测模型1020和消失点检测模型1010的模型参数。在这样的训练过程中,对消失点检测模型1010的训练和对车道边界检测模型1020的训练可以彼此改进。
图11是示出了针对位置估计装置所估计的初始定位信息与位置估计装置的真实姿态之间的旋转参考点的示例的图。
在图11的示例中,假设基于初始定位信息的姿态的目标1110相对于车道边界倾斜地定位。这里,基于初始定位信息虚拟地示出了目标1110的姿态。如参考图6所述,位置估计装置将限定目标1110正在其中行进的车道的边界线的点中距目标1110超过阈值距离的点确定为第一旋转参考点1150。当将第一旋转参考点1150投影到图像平面(该图像平面与以基于初始定位信息的姿态附接到目标1110的传感器1111的视场角相对应)上时,如图11所示来指示第一旋转参考点1150投影到的点1151。
与初始定位信息不同,真实目标1120朝向为平行于车道边界。真实目标1120的传感器1121捕捉来自目标1120的正视图图像。如参考图7至图10所述,位置估计装置根据图像数据1160来检测第二旋转参考点1161。
如前所述,由于初始定位信息中的误差,第一旋转参考点1150直接投影在图像平面上的点与第二旋转参考点1161可能出现在不同的点处。因此,第一旋转参考点1150投影在图像平面上的点与第二旋转参考点1161之间的差异1156可以对应于初始定位信息中的误差,例如旋转误差和位置误差。
通过使用在图5的示例中计算的旋转参数,位置估计装置可以校正初始定位信息,如以下参考图12所述。
图12是示出了使用第一旋转参考点和第二旋转参考点来校正初始定位信息的操作的示例的图。图13是示出了使用旋转参数来校正定位信息的操作的示例的图。图14和图15是示出了使用位置参数来校正定位信息的操作的示例的图。
位置估计装置获取地图数据1201。在操作1210中,位置估计装置基于初始定位信息根据地图数据1201来确定第一旋转参考点。参考图6对第一旋转参考点的确定进行了描述,且因此将省略对确定第一旋转参考点的重复的描述。
位置估计装置获取图像数据1202。在操作1220中,位置估计装置基于消失点检测模型1203根据图像数据1202来检测第二旋转参考点。消失点检测模型1203可以是数学模型或机器学习结构的模型。
在操作1230中,位置估计装置使用旋转参数和位置参数来校正初始定位信息。下面提供对操作1230的详细描述。
在操作1231中,位置估计装置计算旋转参数并使用旋转参数来校正初始定位信息。位置估计装置基于第一旋转参考点和第二旋转参考点来计算旋转参数。例如,位置估计装置根据第一旋转参考点和第二旋转参考点来计算与初始姿态相关联的旋转参数。此外,位置估计装置通过基于所计算的旋转参数去校正定位信息来确定最终定位信息。例如,位置估计装置通过使用旋转参数去校正初始姿态来确定目标的最终姿态。通过对旋转参数进行补偿(如图13的箭头1331所示),第一旋转参考点投影在图像平面上的点围绕传感器旋转。
在如上所述地确定了最终姿态之后,位置估计装置计算与目标的初始位置相关联的位置参数。位置估计装置通过使用位置参数去校正初始位置来确定目标的最终位置。
例如,在操作1232中,位置估计装置计算第一轴位置参数并使用第一轴位置参数来校正定位信息。位置估计装置向初始位置应用第一轴上的偏移。位置估计装置向定位信息应用来自位置参数的与横轴相对应的分量。通过针对第一轴位置参数来补偿定位信息(如图14的箭头1432所指示),可以移动第一旋转参考点投影在图像平面上的第一轴上的位置。
在操作1233中,位置估计装置计算第二轴位置参数并使用第二轴位置参数来校正定位信息。位置估计装置向初始位置应用与第一轴不同的第二轴上的偏移。位置估计装置向定位信息应用来自位置参数的与纵轴相对应的分量。通过针对第二轴位置参数来补偿定位信息(如图15的箭头1533所示),可以移动第一旋转参考点投影在图像平面上的第二轴上的位置。
位置估计装置基于根据图像数据1202所检测到的图像地标和根据地图数据1201所检测到的地图地标来确定位置参数,例如第一轴位置参数和第二轴位置参数。例如,位置估计装置基于根据地图数据1201所检测到的地图地标的2d坐标和与地图地标相对应的图像地标的2d坐标之间的差异来计算位置参数。位置估计装置针对根据图像数据1202所检测到的每个地标来设置地标分数。位置估计装置将地图数据1201中包括的地图地标投影到图像平面(例如基于在初始位置和初始姿态处的传感器的场角的平面),并基于图像数据1202中的图像地标之间的重叠程度来计算匹配分数。响应于与地图地标的2d坐标或正在移动的图像地标的2d坐标相对应的位置参数,位置估计装置确定与指示最高匹配分数的坐标移动值相对应的位置参数。
如前所述,位置估计装置计算位置参数和旋转参数,并向初始定位信息应用位置参数和旋转参数,由此确定准确的最终定位信息。
基于最终定位信息,位置估计装置提供用于确定目标是否到达地图数据1201上的预定位置或目标是否偏离了路径的信息。可以将位置估计装置与车辆信息系统组合。此外,可以用软件、web服务和车辆设备中的芯片的形式来实现位置估计方法,以便提供。
位置估计装置可被应用于基于ar环境中的图像和地图数据1201的定位。例如,位置估计装置可以以低成本和小尺寸来提供。此外,即使当在地图数据1201的地图地标和图像数据1202的图像地标之间发生误差时,位置估计装置也使用如上所述的位置参数和旋转参数来补偿该误差。此外,位置估计装置可以确定位置参数和旋转参数,而没有对地标的数量的限制,例如即使当地标的数量小于4时。
位置估计装置可以使用旋转参考点来鲁棒地确定用于补偿旋转误差(其是定位的关键因素)的旋转参数。
执行本申请中所描述的操作的图1中的处理器120和存储器130由硬件组件来实现,该硬件组件被配置为执行本申请中被描述为由硬件组件所执行的操作。在适当的情况下,可以用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行本申请中所描述的操作的任何其它电子组件。在其他示例中,执行本申请中所描述的操作的一个或多个硬件组件由计算硬件来实现,例如,由一个或多个处理器或计算机来实现。处理器或计算机可以由一个或多个处理元件来实现,例如逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其它设备或设备的组合。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如操作系统(os)和在os上运行的一个或多个软件应用,以执行本申请中所描述的操作。响应于对指令或软件的执行,硬件组件还可以访问、操纵、处理、创建和存储数据。为了简单起见,在本申请中所述示例的描述中可以使用单数术语“处理器”或“计算机”,但在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼而有之。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器或处理器和控制器来实现,且一个或多个其他硬件组件可以由一个或多个其他处理器或另一个处理器和另一个控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有任何一种或多种不同的处理配置,其示例包括单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。
图4、图5、图8~图10和图12中所示出的执行本申请中所描述的操作的方法由计算硬件来执行,例如,由一个或多个处理器或计算机来执行,该一个或多个处理器或计算机如上所述地执行指令或软件以执行本申请中所描述的由方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可以由一个或多个处理器、或者处理器和控制器执行,且一个或多个其他操作可以由一个或多个其他处理器或另一个处理器和另一个控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。
用于控制处理器或计算机以实现硬件组件并执行上述方法的指令或软件被编写成计算机程序、代码段、指令或其任何组合,用于单独地或共同地指示处理器或计算机或将处理器或计算机配置为作为机器或专用计算机来操作,以执行由硬件组件执行的操作和上述方法。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由处理器或计算机使用解释器来执行的更高级的代码。本领域的普通编程人员可以基于附图中所示出的框图和流程图以及说明书(其中公开了用于执行由硬件组件和上述方法执行的操作的算法)中的对应描述来容易地编写指令或软件。
控制处理器或计算机实现硬件组件并执行上述方法的指令或软件,以及任何相关联的数据、数据文件和数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质之中或之上。非暂时性计算机可读存储介质的示例包括只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、诸如多媒体卡或微型卡(例如,安全数字(sd)或极限数字(xd))之类的卡型存储器、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并且向处理器或计算机提供指令或软件以及任何相关联的数据、数据文件和数据结构以使得处理器或计算机可以执行指令的任何其他设备。
虽然本公开包括特定的示例,但是在理解了本申请的公开内容之后显而易见的是:在不脱离权利要求及其等同物的精神和范围的情况下,可以在这些示例中进行形式和细节上的各种改变。本文中所描述的示例应被认为仅是描述性的,而不是出于限制的目的。对每个示例中的特征或方面的描述应被认为可应用于其他示例中的类似特征或方面。如果所描述的技术按不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其它组件或其等同物替换或补充,则可以实现合适的结果。因此,本公开的范围不是由具体实施方式来限定,而是由权利要求及其等同物来限定,并且在权利要求及其等同物的范围内的所有变化应被解释为被包括在本公开中。