CN117611666A - 利用校准的传感器进行对象位置估计 - Google Patents

利用校准的传感器进行对象位置估计 Download PDF

Info

Publication number
CN117611666A
CN117611666A CN202310999100.9A CN202310999100A CN117611666A CN 117611666 A CN117611666 A CN 117611666A CN 202310999100 A CN202310999100 A CN 202310999100A CN 117611666 A CN117611666 A CN 117611666A
Authority
CN
China
Prior art keywords
reference plane
sensor
vehicle
determining
feature points
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
CN202310999100.9A
Other languages
English (en)
Inventor
K·奥卢托米拉约
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of CN117611666A publication Critical patent/CN117611666A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60DVEHICLE CONNECTIONS
    • B60D1/00Traction couplings; Hitches; Draw-gear; Towing devices
    • B60D1/24Traction couplings; Hitches; Draw-gear; Towing devices characterised by arrangements for particular functions
    • B60D1/36Traction couplings; Hitches; Draw-gear; Towing devices characterised by arrangements for particular functions for facilitating connection, e.g. hitch catchers, visual guide means, signalling aids
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R1/00Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles
    • B60R1/002Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles specially adapted for covering the peripheral part of the vehicle, e.g. for viewing tyres, bumpers or the like
    • B60R1/003Optical viewing arrangements; Real-time viewing arrangements for drivers or passengers using optical image capturing systems, e.g. cameras or video systems specially adapted for use in or on vehicles specially adapted for covering the peripheral part of the vehicle, e.g. for viewing tyres, bumpers or the like for viewing trailer hitches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Transportation (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Traffic Control Systems (AREA)

Abstract

本公开提供了“利用校准的传感器进行对象位置估计”。公开了一种系统,所述系统包括计算机,所述计算机包括处理器和存储器,所述存储器包括指令,所述指令可由所述处理器执行以利用传感器获取第一图像,其中利用基准标记校准所述传感器以确定参考平面的真实世界位置。利用传感器获取对象的图像以通过确定对象特征点来确定对象位于参考平面上。基于对象特征点来确定对象在真实世界坐标中的包括深度在内的位置。基于对象的位置来操作系统。

Description

利用校准的传感器进行对象位置估计
技术领域
本公开涉及利用车辆中的校准的传感器进行对象位置估计。
背景技术
图像可以由传感器获取并使用计算机进行处理以确定关于系统周围环境中的对象的数据。感测系统的操作可以包括获取关于系统环境中的对象的准确且及时的数据。计算机可以从一个或多个图像传感器获取图像,所述图像可以被处理以确定关于对象的数据。计算机可以使用从对象的图像中提取的数据来操作系统,包括车辆、机器人、安全系统和/或对象跟踪系统。
发明内容
如本文所述的系统可以用于定位系统周围的环境中的对象并基于对象的位置来操作系统。通常,可以将传感器数据提供给计算机以定位对象并基于对象的位置来确定系统轨迹。轨迹是可以被指示为坐标系中的坐标的一组位置连同相应位置处的速度(例如,指示相应位置处的速率和航向的矢量)。系统中的计算机可以确定用于操作系统的轨迹,所述轨迹相对于对象定位系统或系统的部分。本文将车辆描述为系统的示例,所述系统包括用于获取关于对象的数据的传感器、用于处理传感器数据的计算机和用于基于来自计算机的输出来操作车辆的控制器。可以包括可以对系统周围的环境中的对象作出响应的传感器、计算机和控制器的其他系统包括机器人、安全系统和对象跟踪系统。
可以使用鱼眼镜头来获取用于获取包括要定位的对象的图像数据的传感器。鱼眼镜头可以允许传感器从比直线镜头更宽的视野获取数据,然而,鱼眼镜头将失真引入图像数据中,这可能需要额外的处理以允许确定真实世界坐标中的对象位置。将鱼眼镜头图像变换为直线镜头图像可能会在图像数据中引入潜在差异,这可能导致对象位置的潜在差异。本文描述的技术使用参考平面和对象特征点来增强对对象位置的确定。使用参考平面和对象特征点确定对象位置避免了将鱼眼图像变换为直线图像,这减少了确定对象位置所需的计算资源。
本文公开了一种方法,所述方法包括:利用传感器获取第一图像,其中利用基准标记校准所述传感器以确定参考平面的真实世界位置;利用所述传感器获取对象的图像并且通过确定对象特征点来确定所述对象位于所述参考平面上;基于所述对象特征点来确定所述对象在真实世界坐标中的包括深度在内的位置;以及基于所述对象的所述位置来操作系统。可以基于基准标记的真实世界测量值利用传感器校准参数来确定参考平面的位置。可以使用尺度不变特征变换、加速稳健特征、来自加速段测试的特征或二进制稳健独立的基本特征中的一者或多者来确定对象特征点。深度可以基于传感器与参考平面之间的竖直距离,并且垂直于参考平面来测量。可以通过确定将传感器像素坐标变换为参考平面上的真实世界坐标的单应性矩阵来校准传感器。
可以通过将单应性矩阵应用于对象特征点来确定对象在真实世界坐标中的位置。可以基于将对象特征点之间的第一距离与基于位于参考平面上的对象的图像确定的类似对象特征点之间的第一先前确定的距离进行比较来确定对象位于参考平面上。当确定对象位于不同于参考平面的平面上时,可以基于将对象特征点之间的第三距离与基于位于参考平面上的对象确定的类似对象特征点之间的第四先前确定的距离进行比较来确定对象和参考平面之间的偏移。所述传感器可以包括鱼眼镜头,并且确定所述对象在所述真实世界坐标中的所述位置包括校正鱼眼镜头失真参数。所述系统可以是车辆,所述对象是挂车挂接件,并且操作所述车辆包括控制车辆动力传动系统、转向和制动中的一者或多者以将挂接球与挂车挂接件对准。所述系统可以是机器人,所述对象是工件,并且操作所述机器人包括控制一个或多个可移动机器人轴以将机器人夹持器与所述工件对准。可以通过在传感器的光学中心与对象上的点之间构造直角三角形并确定直角三角形的斜边的长度来确定从所述光学中心到对象的距离。可以通过将点投影到单位球面上来对鱼眼镜头进行建模。可以将单位球面投影到归一化平面上以形成相机固有校准参数。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种计算机,所述计算机被编程用于执行上述方法步骤中的一些或全部,所述计算机包括计算设备,所述计算设备被编程为:利用传感器获取第一图像,其中利用基准标记校准所述传感器以确定参考平面的真实世界位置;利用所述传感器获取对象的图像并且通过确定对象特征点来确定所述对象位于所述参考平面上;基于所述对象特征点来确定所述对象在真实世界坐标中的包括深度在内的位置;以及基于所述对象的所述位置来操作系统。可以基于基准标记的真实世界测量值利用传感器校准参数来确定参考平面的位置。可以使用尺度不变特征变换、加速稳健特征、来自加速段测试的特征或二进制稳健独立的基本特征中的一者或多者来确定对象特征点。深度可以基于传感器与参考平面之间的竖直距离,并且垂直于参考平面来测量。可以通过确定将传感器像素坐标变换为参考平面上的真实世界坐标的单应性矩阵来校准传感器。
所述指令还包括用于进行以下操作的另外的指令:通过将单应性矩阵应用于对象特征点来确定对象在真实世界坐标中的位置。可以基于将对象特征点之间的第一距离与基于位于参考平面上的对象的图像确定的类似对象特征点之间的第一先前确定的距离进行比较来确定对象位于参考平面上。当确定对象位于不同于参考平面的平面上时,可以基于将对象特征点之间的第三距离与基于位于参考平面上的对象确定的类似对象特征点之间的第四先前确定的距离进行比较来确定对象和参考平面之间的偏移。所述传感器可以包括鱼眼镜头,并且确定所述对象在所述真实世界坐标中的所述位置包括校正鱼眼镜头失真参数。所述系统可以是车辆,所述对象是挂车挂接件,并且操作所述车辆包括控制车辆动力传动系统、转向和制动中的一者或多者以将挂接球与挂车挂接件对准。所述系统可以是机器人,所述对象是工件,并且操作所述机器人包括控制一个或多个可移动机器人轴以将机器人夹持器与所述工件对准。可以通过在传感器的光学中心与对象上的点之间构造直角三角形并确定直角三角形的斜边的长度来确定从所述光学中心到对象的距离。可以通过将点投影到单位球面上来对鱼眼镜头进行建模。可以将单位球面投影到归一化平面上以形成相机固有校准参数。
附图说明
图1是示例性交通基础设施系统的框图。
图2是包括车辆和基准标记的示例性交通场景的简图。
图3是包括车辆和对象的示例性交通场景的简图。
图4是包括三个参考平面的示例性交通场景的简图。
图5是确定对象位置的示例性过程的流程图。
图6是基于对象位置来操作车辆的示例性过程的流程图。
具体实施方式
图1是可以包括交通基础设施节点105的感测系统100的简图,所述交通基础设施系统包括服务器计算机120和固定传感器122。感测系统100包括车辆110,所述车辆可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式下操作。一个或多个车辆110的计算装置115可从传感器116接收关于车辆110的操作的数据。计算装置115可以自主模式、半自主模式或非自主模式操作车辆110。
计算装置115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(即,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
计算装置115可以包括多于一个计算装置(即,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等(即,动力传动系统控制器112、制动控制器113、转向控制器114等)),或即经由如下面进一步描述的车辆通信总线通信地联接到所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(即,包括车辆110中的总线,诸如控制器局域网络(CAN)等)通信;车辆110网络可另外或替代地包括诸如已知的有线或无线通信机制,即,以太网或其他通信协议。
计算装置115可经由车辆网络向车辆中的各种装置(即,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。此外,如下文所提及,各种控制器或感测元件(诸如传感器116)可经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可被配置用于通过车辆对基础设施(V2X)接口111经由网络130与远程服务器计算机120(即,云服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网或蜂窝网络的网络130与远程服务器计算机120通信。V2X接口111可以相应地包括被配置为利用各种有线和/或无线网络技术(即蜂窝、/> 蓝牙低功耗(BLE)、超宽带(UWB)、对等通信、基于UWB的雷达、IEEE 802.11和/或其他有线和/或无线分组网络或技术)的处理器、存储器、收发器等。计算装置115可被配置用于使用即在邻近车辆110之间在移动自组网的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V2V)网络(即,根据包括无线(C-V2X)蜂窝通信在内的专用短程通信(DSRC)和/或类似的通信)通过V2X(车辆对外界)接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络和车辆对基础设施(V2X)接口111传输到服务器计算机120或用户移动装置160。
如已经提及的,用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(即,制动、转向、推进等)的编程通常包括在存储器中所存储的并可由计算装置115的处理器执行的指令中。使用在计算装置115中接收的数据(即,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆110。例如,计算装置115可包括编程以调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的有效穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过交叉路口的交叉路口(无信号灯)最短时间。
如本文所使用的术语控制器包括通常被编程来监测和/或控制特定车辆子系统的计算装置。示例包括动力传动系统控制器112、制动控制器113和转向控制器114。控制器可为诸如已知的电子控制单元(ECU),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置115并且从所述计算装置接收指令以根据指令来致动子系统。例如,制动控制器113可从计算装置115接收指令以操作车辆110的制动器。
用于车辆110的一个或多个控制器112、113、114可以包括已知的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个动力传动系统控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一者可包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可被编程并且连接到车辆110通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并且基于指令而控制致动器。
传感器116可以包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆110的前保险杠(未示出)的雷达可提供从车辆110到车辆110前方的下一车辆的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可提供车辆110的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用来自主或半自主地操作车辆110。
车辆110通常是能够自主和/或半自主操作并且具有三个或更多个车轮的基于地面的车辆110(即,客车、轻型货车等)。车辆110包括一个或多个传感器116、V2X接口111、计算装置115以及一个或多个控制器112、113、114。传感器116可收集与车辆110和车辆110的操作环境相关的数据。作为举例而非限制,传感器116可以包括例如测高仪、相机、激光雷达、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用于感测车辆110的操作环境,即,传感器116可检测诸如天气状况(降雨、外部环境温度等)的现象、道路坡度、道路位置(即,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率水平、在部件之间的连接性以及车辆110的部件的准确且及时的性能。
车辆可以被配备为以自主、半自主或手动模式操作。半自主模式或完全自主模式意指车辆可以由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。出于本公开的目的,自主模式被定义为车辆推进(即,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一者由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一者或多者。在非自主模式下,这些都不由计算机控制。在半自主模式下,它们中的一些(但不是全部)由计算机控制。
交通基础设施节点105可以包括物理结构,诸如塔或其他支撑结构(即,杆、可安装到桥梁支撑件的盒子、蜂窝电话塔、道路标志支撑件等),基础设施传感器122以及服务器计算机120可安装、存储和/或容纳在所述物理结构上并且得以供电等。为了便于说明,在图1中示出一个交通基础设施节点105,但是系统100可以并且很可能将包括数十、数百或数千个交通基础设施节点105。交通基础设施节点105通常是静止的,即,固定到特定地理位置并且无法从所述位置移动。基础设施传感器122可以包括一个或多个传感器,诸如上文针对车辆110传感器116所描述的,即,激光雷达、雷达、相机、超声传感器等。基础设施传感器122是固定的或静止的。也就是说,每个传感器122安装到基础设施节点以便具有基本不移动且不改变的视野。
服务器计算机120通常具有与车辆110的V2X接口111和计算装置115共同的特征(计算机处理器和存储器以及用于经由网络130通信的配置),并且因此将不进一步描述这些特征以避免冗余。尽管为了便于说明而未示出,但是交通基础设施节点105还包括电源,诸如电池、太阳能电池和/或与电网的连接。交通基础设施节点105的服务器计算机120和/或车辆110的计算装置115可接收传感器116、122的数据以监测一个或多个对象。在本公开的上下文中,“对象”是可以由车辆传感器116和/或基础设施传感器122检测到的物理(即,材料)结构或事物。
图2是交通场景200的简图。交通场景200包括车辆110,因为它在支撑表面204上操作,所述支撑表面可以是例如道路、停车场或包括在停车库或其他结构中的地板或地面。车辆110包括摄像机202。如上文关于图1所讨论的,车辆110可以包括传感器116,在该示例中是获取关于车辆110周围的环境的数据的摄像机202。车辆110可以包括各种传感器116(包括激光雷达传感器、雷达传感器或超声传感器中的一者或多者)以获取关于车辆110周围的环境的数据。车辆110中的计算装置115可以接收由摄像机202获取的数据作为输入,并且处理所述数据以确定与车辆110所在的支撑表面204重合的参考平面210的位置。参考平面210可以由P=ax+by+c形式的方程描述,所述方程定义近似支撑表面204的平面。
车辆110中的计算装置115可以使用位于支撑表面204上的基准标记206来基于基准标记206的真实世界测量值来确定参考平面210的位置。在该示例中,基准标记206是棋盘状图案。基准标记206的真实世界位置可以利用传感器校准参数(在该示例中为摄像机202校准参数)来确定。例如,传感器116可以是包括鱼眼镜头的摄像机202。鱼眼镜头是广角镜头,与标准的直线镜头相比,它增加了摄像机的视野,同时将直线扭曲成曲线。利用鱼眼相机获取图像可以在数学上被描述为首先将世界坐标(即,真实世界交通场景中包括的全局坐标)投影到相机坐标(即,相对于相机传感器平面测量的坐标)中:
在方程1中,XW、YW、ZW是真实世界坐标中的点的三轴坐标,XC、YC、ZC是相机坐标中的点的三轴坐标,RW是3×3旋转矩阵,其使三维空间中的点旋转,并且tW是3×1矩阵,其使三维空间中的点平移。利用鱼眼镜头对三维空间中的点进行成像可以被建模为通过以下方程将点投影到单位球面上:
在方程2中,Xs、Ys、Zs是投影到单位球面上的点的三轴坐标。然后将单位球面上的点投影到归一化平面上以通过以下方程产生归一化坐标xud、yud
与鱼眼镜头失真相关的失真参数k1、k2、p1、p2可以通过确定鱼眼镜头的固有校准来估计并且用于校正鱼眼镜头失真。除了由于球面镜头引起的失真之外,固有校准还包括确定发生的鱼眼镜头失真的参数(例如,由相机制造商指定)。将鱼眼镜头失真参数应用于归一化坐标以将未失真坐标xud、yud变换为失真坐标xd、yd
广义相机投影矩阵使用焦距fx,fy(以x和y表示)、光学中心cx、cy(以x和y表示)以及偏斜s将失真的归一化鱼眼坐标转换为相机坐标
将方程(1)至(5)应用于真实世界坐标XW、YW、ZW可以产生相机坐标p,即,将方程(1)至(5)应用于真实世界交通场景200可以产生鱼眼图像。这由以下方程概括:
其中F(p)是鱼眼图像,Π是包括方程(1)至(5)的变换,并且是三维真实世界坐标中的一组数据点。方程(5)中的固有相机校准参数和方程(4)中的失真参数可以通过获取图案(诸如网格图案)的图像并将原始图案与利用鱼眼镜头获取的图案的图像进行比较来确定。
以这种方式获得的固有相机校准参数和失真参数可以与基准标记206的图像一起使用,以确定点k0相对于参考平面210的深度d。点k0的深度d基于摄像机202的光学中心208与参考平面210之间的竖直距离,并且垂直于参考平面210来测量。基准标记206上的一个或多个点(例如基准标记206的四个拐角点)的位置可以在真实世界中相对于摄像机202的光学中心208来测量。上面的方程(1)至(5)可以被反转以产生具有真实世界坐标位置xwi、ywi、zwi的n(1<i<n)个未失真像素其中坐标系原点在k0处。zwi=0的透视投影矩阵即,假设基准标记206在与k0相同的平面中,将未失真像素/>和平面相关联:
可以定义作为P的逆的单应性矩阵H,其根据以下方程基于基准标记206的拐角的真实世界坐标的测量位置将未失真像素从图像空间变换到真实世界坐标:
其中s是标量,其可以通过将第三维度归一化为1以获得的估计值来确定。一旦确定了单应性矩阵H和标量s,就可以使用单应性矩阵H并将其应用于点的未失真像素坐标/>来获得鱼眼图像中假设位于参考平面210中的任何点的真实世界坐标(xw,yw)以将传感器像素位置变换为参考平面210上的真实世界坐标位置。
图3是包括具有传感器116的车辆110的交通场景300的简图。传感器116的光学中心308与参考平面304上的点k0之间的距离d0已经如上文关于图2所讨论的那样确定。位于参考平面304上的对象302上的点p的真实世界坐标可以基于如上文关于图2所讨论的确定的单应性矩阵H和s来确定。距传感器116的光学中心308的距离d可以通过在光学中心308、点k0和点p构造直角三角形并使用三角法来确定斜边的长度d来确定。
可以使用图像处理技术来确定包括在包括点p的鱼眼镜头图像中的对象302上的点。可以确定对象302上的一个或多个点以及所述对象的图像处理技术包括已知技术,诸如尺度不变特征变换(SIFT)、加速稳健特征(SURF)、来自加速段测试的特征(FAST)和二进制稳健独立的基本特征(BRIEF)。Lowe,David G.在《计算机视觉国际会议论文集》中的“Object recognition from local scale-invariant features”中描述了SIFT,第2卷,第1150-1157页(1999)。苏黎世理工学院和鲁汶大学的Herbert Bay、Andreas Ess、TinneTuytelaars和Luc Van Gool,ETH Zurich,Katholieke Universiteit Leuven在“SpeededUpRobust Features”中描述了SURF。Edward Rosten和Tom Drummond在ECCV 2006的第440-443页的“Machine Learning for High-Speed Corner Detection”中描述了FAST。MichaelCalonder、Vincent Lepetit、Christoph Strecha和Pascal Fua在ECCV 2010的第778-792页的“BRIEF:Binary Robust Independent Elementary Features”中描述了BRIEF。特征点检测器(诸如SIFT、SURF、FAST和BRIEF)通过处理像素的邻域以检测边缘、拐角或像素值的其他变化来确定图像中的位置或点。尽管对象的照明或取向发生变化,但特征点检测器可以确定对象上的相同位置。
在本文描述的技术的示例中,可以使用地图数据、GPS数据和IMU数据中的一者或多者来操作车辆110以接近包括充电插座的停车场或停车结构中的停车位。可能需要具有比地图数据中所包括的分辨率更高的分辨率的关于充电插座的位置的数据。例如,地图数据可以包括充电插座的位置,通常在+/-10cm内。为了自动地将车辆110插入充电插座中,充电插座可能需要对准到比地图数据提供的精度更高的精度内,例如在+/-1cm内。如本文所述的使用参考平面304的对象检测可以使用车辆110中可用的计算资源以所需的准确度可靠且快速地定位充电插座。如本文所述使用参考平面的对象检测通过不需要传感器固有参数来将像素数据的整个图像从鱼眼镜头数据变换为包括直线数据的图像来增强对鱼眼镜头数据的对象检测。通过不需要传感器固有参数来将像素数据的整个图像从鱼眼镜头数据转换成直线数据,使用参考平面的对象检测避免了对象位置的潜在差异。传感器固有参数是包括如上文关于图2所讨论的焦距、传感器尺寸和位置以及镜头失真的参数。
图4是包括车辆110的交通场景400的简图。车辆110支撑在道路或路面上。第一参考平面404可以使用上文关于图2和图3讨论的技术相对于摄像机410进行定位以确定点k0的位置和距离d0。在基于参考平面位置的对象定位的示例中,对象可以位于定位在第一参考平面404上方的第二参考平面406上,或者位于定位在第一参考平面404下方的第三参考平面408上。位于第一参考平面404上方的对象的示例是挂车挂接件。挂车挂接件是挂车的通过将挂车挂接件定位到附接到拖挂车辆的挂接球上而将挂车附接到拖挂车辆的部分。
为了使用基于参考平面位置的对象位置来定位挂车挂接件,将通过确定点k0的位置和相对于传感器116的距离d0来校准包括在车辆中的后向传感器116(其可以是摄像机)。可以在相机安装在车辆110中时测量传感器116相对于车辆110和支撑车辆110的表面的位置,以确定从传感器116到安装在车辆110上的挂接球的三维距离。相对于车辆110的对象位置可以基于被确定为与支撑车辆110的表面重合的参考平面。参考平面相对于车辆110的位置可以如上文关于图2所讨论的那样确定,并且存储在车辆110中所包括的计算装置115中。计算装置115可以获取传感器数据,在3D空间中定位挂车挂接件并且确定可以用于将车辆110移动到挂车挂接件可以降低到挂接球上以将挂车附接到车辆的位置的轨迹。
诸如挂车挂接件的对象通常不位于与支撑车辆110的道路或路面重合的第一参考平面上。可以基于测量图4中所示的距离d1并将其与在新获取的图像中包括的对象上确定的类似对象特征点进行比较来确定新的(或第二)参考平面。可以通过利用确定用于确定第一距离d1的特征点的相同图像处理技术处理新获取的图像来确定类似的对象特征点。当对象(诸如挂车挂接件)位于第一参考平面中时,在所述对象上的点p1与p2之间测量距离d1。可以在制造时间或在使用对象定位系统之前的任何时间在对象(诸如挂车挂接件)上的点p1和p2之间测量距离d1。可以通过使用如上文关于图3所讨论的特征点检测来处理对象的图像来确定点p1和p2。如上文所讨论的,特征检测技术倾向于确定类似图像上的相同点。类似图像是包括在包括在对象上的照明对比度在+/-50%内的照明条件下以在几度(例如+/-45度)内的角度取向的相同对象的图像。点p1和p2也可以通过将基准标记附加到对象来生成,以增加每次查看对象时特征点检测将检测到相同点的概率。
可以测量位于第一参考平面404中的对象上的点p1和p2之间的距离d1并且距离d1存储在包括在计算装置115中的存储器中。在对象定位系统的操作期间,包括在车辆110中的传感器116可以获取要定位的对象的图像并执行与先前定位点p1和p2相同的特征点检测。特征点检测可以定位两个新点,在图4中示出为点a1和a2以及点b1和b2。可以确定两个新点之间的新距离度量。例如,点a1和a2产生距离d2,并且点b1和b2产生距离d3。比较在新获取的点a1和a2以及点b1和b2上测量的距离d2、d3可以通过将距离d2、d3与存储在存储器中的先前确定的距离d1进行比较来确定新参考平面是在第一参考平面上方还是下方。当距离d2小于距离d1时,包括对象的第二参考平面406被确定为位于第一参考平面404上方。当距离d3大于距离d1时,包括对象的第三参考平面408被确定为位于第一参考平面404下方。
当确定测量距离d2、d3时,构造包括距离d0的一部分、摄像机410的光学中心412以及点a1和a2或点b1和b2(取决于测量距离d2或d3)的直角三角形确定新参考平面406、408相对于第一参考平面404的位置偏移。当确定新参考平面406、408的位置偏移时,对象定位系统可以通过将偏移应用于计算并将位置投影到第一参考平面404来确定对象在3D真实世界坐标中相对于点k0的位置。以这种方式,使用参考平面的对象定位系统可以确定不位于参考平面上的对象的位置。
图5是关于图1至图4描述的用于校准和操作使用参考平面来定位对象的系统的过程500的流程图。过程500可以由计算装置115的处理器来实施,所述处理器将从传感器116获取的图像作为输入,执行命令,并输出真实世界坐标中的3D对象位置。过程500包括可以按所示次序执行的多个框。替代地或另外,过程500可包括更少的框,或者可包括以不同次序执行的框。
过程500开始于框502,其中过程500确定对象定位系统是否是校准的。当已经确定从传感器116到第一参考平面404的距离d0并将其存储在计算装置115的存储器中时,则对象定位系统是校准的。在要定位的对象可能出现在不同于第一参考平面404的参考平面中的示例中,校准系统可以包括通过对图像数据执行特征点检测来确定两个或更多个特征点p1、p2,如上文关于图3和图4所讨论的,以确定距离d1。如果对象定位系统不是校准的,则过程500转到框504。如果对象定位系统是校准的,则过程500转到框508。
在框504处,对象定位系统获取位于参考平面上的基准标记的图像。在要定位的对象可能出现在不在参考平面上的位置处的示例中,还获取位于参考平面上的对象的图像。
在框506处,过程500基于所获取的基准标记图像来确定点k0的位置和相对于包括在车辆110中的传感器116的距离d0。在要定位的对象可能出现在不同于第一参考平面404的参考平面中的示例中,通过对位于参考平面404上的对象的图像执行特征点检测来确定两个或更多个特征点p1、p2,如上文关于图3和图4所讨论的,以确定距离d1
在框508处,过程500通过获取对象的图像、执行特征点检测并将对象上的测量距离d2、d3与存储的距离d1进行比较以确定对象是否位于参考平面404上来确定对象是否位于参考平面上。如果对象上的测量距离d2、d3与距离d1相同,则对象位于参考平面404上,并且过程500转到框510。如果对象上的测量距离d2、d3与距离d1不同,则对象不位于参考平面404上,并且过程500转到框512。
在框510处,将使用特征点检测位于对象上的特征点投影到参考平面404上,并且通过如上文关于图3所讨论的构造直角三角形并确定斜边的长度来确定到点k0的距离和距离d0
在框512处,对象不位于参考平面404上,因此将测量距离d2、d3与存储的距离d1进行比较以确定第二参考平面406或第三参考平面408的位置,如上文关于图4所讨论的。
在框514处,将使用特征点检测位于对象上的特征点投影到上文在框512处确定的第二参考平面406或第三参考平面408上,以确定对象在3D真实世界坐标中的位置。
在框516处,将对象在3D真实世界坐标中的位置输出到计算装置115。在框516之后,过程500结束。
图6是关于图1至图5所述的用于基于使用参考平面在3D真实世界坐标中定位对象来操作车辆110的过程7600的流程图。过程600可以由计算装置115的处理器来实施,所述处理器将包括对象的图像数据作为输入,执行命令,并且操作车辆110。过程600包括可以按所示次序执行的多个框。替代地或另外,过程600可以包括更少的框,或者可以包括以不同次序执行的框。
在框602处,过程600利用对象定位系统使用参考平面来确定对象的3D真实世界位置,如上文关于图1至图5所述的。图1至图5的示例描述了包括在车辆110中的对象定位系统,然而,使用参考平面的对象定位系统可以用于机器人引导、监控或对象处理系统。
在框604处,过程600基于在框602处确定的对象的3D真实世界位置来确定用于操作车辆110的轨迹。例如,车辆110可以检测充电插座的3D真实世界位置并确定将车辆的充电端口定位成邻近充电插座的轨迹。在另一个示例中,车辆可以检测挂车挂接件的3D真实世界位置并确定将位于车辆上的挂接球定位成邻近挂车挂接件的轨迹。在对象定位系统包括在机器人中的示例中,轨迹可以通过控制可移动机器人轴以将机器人夹持器与工件对准来将机器人的夹持器定位成邻近工件。在其中对象定位系统包括在监控系统中的示例中,对象可以是人,并且监控系统可以确定是否允许人执行确定的轨迹,即,进入某个区域。
在框606处,过程600基于所确定的轨迹来操作车辆110。操作车辆110可以包括将命令从计算装置115传送到控制器112、113、114以控制车辆动力传动系统、转向和制动中的一者或多者以将车辆110相对于所定位的对象定位在适当位置。在机器人的示例中,计算装置115可以向致动器传送命令,所述致动器控制机器人臂和末端执行器(诸如夹持器)以抓握工件。在监控系统的示例中,监控系统可以基于检测到人类的禁止轨迹而发出警报。在框606之后,过程600结束。
诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文讨论的过程框可体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(即,微处理器)接收即来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(也称为处理器可读介质)包括参与提供可以由计算机(即,由计算机的处理器)读取的数据(即,指令)的任何非暂时性(即,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、电线、无线通信,包括构成联接到计算机的处理器的系统总线的内部件。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、快闪EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,即,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何形状、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的附图标记指示相同的要素。另外,可改变这些要素中的一些或全部。相对于本文描述的介质、过程、系统、方法等,应理解,尽管此类过程等的步骤或框已被描述为根据特定的有序顺序发生,但是此类过程可通过以本文描述的次序以外的次序执行所描述的步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种系统,其具有:包括处理器和存储器的计算机,所述存储器包括指令,所述指令可由所述处理器执行以:利用传感器获取第一图像,其中利用基准标记校准所述传感器以确定参考平面的真实世界位置;利用所述传感器获取对象的图像并且通过确定对象特征点来确定所述对象位于所述参考平面上;基于所述对象特征点来确定所述对象在真实世界坐标中的包括深度在内的位置;以及基于所述对象的所述位置来操作所述系统。
根据一个实施例,基于所述基准标记的真实世界测量值利用传感器校准参数来确定所述参考平面的所述位置。
根据一个实施例,本发明的特征还在于所述指令包括用于进行以下操作的另外的指令:使用尺度不变特征变换、加速稳健特征、来自加速段测试的特征或二进制稳健独立的基本特征中的一者或多者来确定所述对象特征点。
根据一个实施例,所述深度基于所述传感器与所述参考平面之间的竖直距离,并且垂直于所述参考平面来测量。
根据一个实施例,本发明的特征还在于所述指令包括用于进行以下操作的另外的指令:通过确定将传感器像素坐标变换为所述参考平面上的真实世界坐标的单应性矩阵来校准所述传感器。
根据一个实施例,本发明的特征还在于所述指令包括用于进行以下操作的另外的指令:通过将所述单应性矩阵应用于对象特征点来确定对象在真实世界坐标中的位置。
根据一个实施例,本发明的特征还在于所述指令包括用于进行以下操作的另外的指令:基于将所述对象特征点之间的第一距离与基于位于所述参考平面上的所述对象的图像确定的类似对象特征点之间的第二先前确定的距离进行比较来确定所述对象位于所述参考平面上。
根据一个实施例,本发明的特征还在于所述指令包括用于进行以下操作的另外的指令:当确定所述对象位于不同于所述参考平面的平面上时,基于将所述对象特征点之间的第三距离与基于位于所述参考平面上的对象确定的类似对象特征点之间的第四先前确定的距离进行比较来确定所述对象和所述参考平面之间的偏移。
根据一个实施例,所述传感器包括鱼眼镜头,并且确定所述对象在所述真实世界坐标中的所述位置包括校正鱼眼镜头失真参数。
根据一个实施例,所述系统是车辆,所述对象是挂车挂接件,并且操作所述车辆包括控制车辆动力传动系统、转向和制动中的一者或多者以将挂接球与所述挂车挂接件对准。
根据一个实施例,所述系统是机器人,所述对象是工件,并且操作所述机器人包括控制一个或多个可移动机器人轴以将机器人夹持器与所述工件对准。
根据本发明,一种方法包括:利用传感器获取第一图像,其中利用基准标记校准所述传感器以确定参考平面的真实世界位置;利用所述传感器获取对象的图像并且通过确定对象特征点来确定所述对象位于所述参考平面上;基于所述对象特征点来确定所述对象在真实世界坐标中的包括深度在内的位置;以及基于所述对象的所述位置来操作系统。
在本发明的一个方面,基于所述基准标记的真实世界测量值利用传感器校准参数来确定所述参考平面的所述位置。
在本发明的一个方面,所述方法包括使用尺度不变特征变换、加速稳健特征、来自加速段测试的特征或二进制稳健独立的基本特征中的一者或多者来确定所述对象特征点。
在本发明的一个方面,所述深度基于所述传感器与所述参考平面之间的竖直距离,并且垂直于所述参考平面来测量。
在本发明的一个方面,所述方法包括通过确定将传感器像素坐标变换为所述参考平面上的真实世界坐标的单应性矩阵来校准所述传感器。
在本发明的一个方面,所述方法包括通过将所述单应性矩阵应用于所述对象特征点来确定所述对象在所述真实世界坐标中的所述位置。
在本发明的一个方面,所述方法包括基于将所述对象特征点之间的第一距离与基于位于所述参考平面上的所述对象的图像确定的类似对象特征点之间的第一先前确定的距离进行比较来确定所述对象位于所述参考平面上。
在本发明的一个方面,所述方法包括当确定所述对象位于不同于所述参考平面的平面上时,基于将所述对象特征点之间的第三距离与基于位于所述参考平面上的所述对象确定的类似对象特征点之间的第四先前确定的距离进行比较来确定所述对象和所述参考平面之间的偏移。
在本发明的一个方面,所述传感器包括鱼眼镜头,并且确定所述对象在所述真实世界坐标中的所述位置包括校正鱼眼镜头失真参数。

Claims (15)

1.一种方法,其包括:
利用传感器获取第一图像,其中利用基准标记校准所述传感器以确定参考平面的真实世界位置;
利用所述传感器获取对象的图像并且通过确定对象特征点来确定所述对象位于所述参考平面上;
基于所述对象特征点来确定所述对象在真实世界坐标中的包括深度在内的位置;以及
基于所述对象的所述位置来操作系统。
2.根据权利要求1所述的方法,其中基于所述基准标记的真实世界测量值利用传感器校准参数来确定所述参考平面的所述位置。
3.根据权利要求1所述的方法,其还包括使用尺度不变特征变换、加速稳健特征、来自加速段测试的特征或二进制稳健独立的基本特征中的一者或多者来确定所述对象特征点。
4.根据权利要求1所述的方法,其中所述深度基于所述传感器与所述参考平面之间的竖直距离,并且垂直于所述参考平面来测量。
5.根据权利要求1所述的方法,其还包括通过确定将传感器像素坐标变换为所述参考平面上的真实世界坐标的单应性矩阵来校准所述传感器。
6.根据权利要求5所述的方法,其还包括通过将所述单应性矩阵应用于所述对象特征点来确定所述对象在所述真实世界坐标中的所述位置。
7.根据权利要求1所述的方法,其还包括基于将所述对象特征点之间的第一距离与基于位于所述参考平面上的所述对象的图像确定的类似对象特征点之间的第一先前确定的距离进行比较来确定所述对象位于所述参考平面上。
8.根据权利要求1所述的方法,其还包括当确定所述对象位于不同于所述参考平面的平面上时,基于将所述对象特征点之间的第三距离与基于位于所述参考平面上的所述对象确定的类似对象特征点之间的第四先前确定的距离进行比较来确定所述对象和所述参考平面之间的偏移。
9.根据权利要求1所述的方法,其中所述传感器包括鱼眼镜头,并且确定所述对象在所述真实世界坐标中的所述位置包括校正鱼眼镜头失真参数。
10.根据权利要求1所述的方法,其中所述系统是车辆,所述对象是挂车挂接件,并且操作所述车辆包括控制车辆动力传动系统、转向和制动中的一者或多者以将挂接球与所述挂车挂接件对准。
11.根据权利要求1所述的方法,其中所述系统是机器人,所述对象是工件,并且操作所述机器人包括控制一个或多个可移动机器人轴以将机器人夹持器与所述工件对准。
12.根据权利要求1所述的方法,其中通过在所述传感器的光学中心与所述对象上的点之间构造直角三角形并确定所述直角三角形的斜边的长度来确定从所述光学中心到所述对象的距离。
13.根据权利要求1所述的方法,其中通过将点投影到单位球面上来对所述鱼眼镜头进行建模。
14.根据权利要求13所述的方法,其中将所述单位球面投影到归一化平面上以形成相机固有校准参数。
15.一种系统,其包括被编程为执行权利要求1至14中任一项所述的方法的计算机。
CN202310999100.9A 2022-08-12 2023-08-09 利用校准的传感器进行对象位置估计 Pending CN117611666A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/819,331 US20240051359A1 (en) 2022-08-12 2022-08-12 Object position estimation with calibrated sensors
US17/819,331 2022-08-12

Publications (1)

Publication Number Publication Date
CN117611666A true CN117611666A (zh) 2024-02-27

Family

ID=89809432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310999100.9A Pending CN117611666A (zh) 2022-08-12 2023-08-09 利用校准的传感器进行对象位置估计

Country Status (3)

Country Link
US (1) US20240051359A1 (zh)
CN (1) CN117611666A (zh)
DE (1) DE102023121486A1 (zh)

Also Published As

Publication number Publication date
US20240051359A1 (en) 2024-02-15
DE102023121486A1 (de) 2024-02-15

Similar Documents

Publication Publication Date Title
US10916035B1 (en) Camera calibration using dense depth maps
CN110148185B (zh) 确定成像设备坐标系转换参数的方法、装置和电子设备
AU2018282302B2 (en) Integrated sensor calibration in natural scenes
US10955857B2 (en) Stationary camera localization
US9201424B1 (en) Camera calibration using structure from motion techniques
CN111209790A (zh) 使用相邻车辆的姿态观察进行路面表征
JP2020085886A (ja) 乗物、乗物測位システム、及び乗物測位方法
US11555903B1 (en) Sensor calibration using dense depth maps
CN112166059A (zh) 车辆的位置估计装置、车辆的位置估计方法以及存储被编程为执行该方法的计算机程序的计算机可读记录介质
US11527012B2 (en) Vehicle pose determination
CN113188567A (zh) 车辆传感器校准
US11544868B2 (en) Object location coordinate determination
CN110766761B (zh) 用于相机标定的方法、装置、设备和存储介质
CN113850867A (zh) 相机参数标定及设备的控制方法、装置、设备及存储介质
CN112753212A (zh) 图像扫描线时间戳
CN114694111A (zh) 车辆定位
JP7316620B2 (ja) 画像正規化のためのシステムと方法
CN116580374A (zh) 车辆定位
CN117611666A (zh) 利用校准的传感器进行对象位置估计
CN115496782A (zh) Lidar对lidar对准和lidar对车辆对准的在线验证
US20220108473A1 (en) Traffic camera calibration
US20230136871A1 (en) Camera calibration
US20230267640A1 (en) Pose estimation
US20230154313A1 (en) Sensor localization
US20240094384A1 (en) Object detection using reflective surfaces

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication