CN112837209B - 对鱼眼镜头生成具有畸变的图像的新方法 - Google Patents
对鱼眼镜头生成具有畸变的图像的新方法 Download PDFInfo
- Publication number
- CN112837209B CN112837209B CN202011290057.1A CN202011290057A CN112837209B CN 112837209 B CN112837209 B CN 112837209B CN 202011290057 A CN202011290057 A CN 202011290057A CN 112837209 B CN112837209 B CN 112837209B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- pixels
- distorted image
- cube map
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000002131 composite material Substances 0.000 claims abstract description 14
- 230000008447 perception Effects 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 239000003086 colorant Substances 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/12—Panospheric to cylindrical image transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Traffic Control Systems (AREA)
- Image Processing (AREA)
Abstract
本申请公开了对鱼眼镜头生成具有畸变的图像的方法,属于自主车辆的技术领域,用于从合成的无畸变源立体图图像生成目标畸变图像。生成合成的无畸变源立方体图图像。为目标畸变图像的每个像素,确定对应于目标畸变图像的像素的源立方体图图像的像素。为目标畸变图像上的每个像素,确定源立方体图图像上对应像素的颜色。之后,在目标畸变图像的每个像素处填充与源立方体图图像的对应像素的确定颜色相同的颜色。
Description
技术领域
本公开的实施例总体上涉及操作自主车辆。更具体地,本公开的实施例涉及生成镜头畸变的合成图像,用于训练用于自主驾驶的感知模块。
背景技术
以自主模式(例如,无人驾驶)操作的车辆可以减轻乘员(特别是驾驶员)免于某些与驾驶有关的责任。当以自主模式运行时,车辆可以使用车载传感器导航到各个位置,从而允许车辆可以在最少的人机交互、或者在某些情况下无乘客的情况下行驶。
运动规划和控制是自主驾驶的关键操作。然而,常规的运动规划操作主要从其曲率和速度来估计完成给定路径的难度,而不考虑不同类型车辆的特征差异。相同的运动规划和控制应用于所有类型的车辆,这在某些情况下可能不准确且不平稳。
感知模块是自动驾驶堆栈中的关键组件。感知模块中使用的人工智能(Artificial Intelligence,AI)算法需要大量标记的图像进行训练。手动标签既费时又昂贵,而且可能不准确。因此,在本领域中使用合成数据(例如,由诸如统一引擎或虚拟引擎的游戏引擎生成的数据)用于生成标记的数据。标记的数据用于感知模块的训练,以帮助改善其性能。
在使用物理相机拍摄的图像中,镜头畸变(例如,径向畸变)是不可避免的。因此,理想地,应该使用体现真实世界镜头畸变的图像来训练感知模块,以便训练的感知模块可以正确地处理由真实相机捕获的图像。因此,生成待在感知模块训练中使用的合成图像的仿真系统应该包含正确的镜头畸变。
存在用于从无畸变图像生成适当畸变的图像的已知技术。然而,生成鱼眼镜头的畸变仍然是挑战。在下文中,鱼眼镜头是指可以帮助创建具有强烈视觉畸变的宽全景或半球形图像的超广角镜头。从无畸变图像生成鱼眼镜头的畸变图像是一个挑战,因为鱼眼镜头通常具有非常大的视场(field of view,FOV):鱼眼镜头的FOV可能接近甚至大于180°。大FOV意味着利用常规技术需要具有非常大的分辨率的无畸变图像来生成鱼眼镜头的畸变图像。随着镜头的FOV向180°增加,所需的分辨率接近无穷大。不存在FOV大于180°的无畸变图像。
发明内容
在一个实施例中,本申请涉及一种用于生成畸变图像的计算机实施的方法。该方法包括:生成合成的无畸变源立方体图图像;以及为目标畸变图像的每个像素,确定对应于目标畸变图像的像素的源立方体图图像的像素,确定源立方体图图像的对应像素的颜色,以及填充与源立方体图图像的对应像素的确定颜色相同的颜色。
在一些实施例中,为目标畸变图像的每个像素,确定对应于目标畸变图像的像素的源立方体图图像的像素包括:将目标畸变图像的像素从像平面投影到归一化平面;使用逆畸变确定无畸变归一化平面上对应像素的位置;以及将无畸变归一化平面上的对应像素投影到单位球。
在一些实施例中,该方法还包括:确定单位球上的投影像素的三维(3D)矢量;以及将与3D矢量对应的源立方体图图像上的像素确定为与目标畸变图像的像素对应的源立方体图图像的像素。
在一些实施例中,目标畸变图像体现鱼眼镜头的径向镜头畸变。
在一些实施例中,鱼眼镜头的视场(FOV)超过180度。
在一些实施例中,源立方体图图像的对应像素的颜色在红绿蓝(RGB)颜色空间中。
在一些实施例中,该方法还包括:使用目标畸变图像训练用于自主驾驶的感知模块。
在另一个实施例中,本申请还涉及一种非暂时性机器可读介质,其中存储有指令。当指令由处理器执行时使得处理器执行上述操作上述用于生成畸变图像的计算机实施的方法。
在另一个实施例中,本申请还涉及一种数据处理系统。该数据处理系统包括:处理器;以及存储器,耦接到处理器以存储指令,指令在由处理器执行时使处理器执行上述用于生成畸变图像的计算机实施的方法。
在另一个实施例中,本申请还涉及一种用于生成畸变图像的装置。该装置包括:立方体图图像生成模块,用于生成合成的无畸变源立方体图图像;以及像素确定模块,用于为目标畸变图像的每个像素,确定对应于所述目标畸变图像的像素的所述源立方体图图像的像素;颜色确定模块,用于为目标畸变图像的每个像素,确定所述源立方体图图像的对应像素的颜色,以及颜色填充模块,用于为目标畸变图像的每个像素,填充与源立方体图图像的对应像素的确定颜色相同的颜色。
附图说明
在附图的图中以示例而非限制的方式示出本公开的实施例,在附图中,相似的附图标记指示相似的元件。
图1是示出根据一个实施例的联网系统的框图。
图2是示出根据一个实施例的自主车辆的示例的框图。
图3A-3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。
图4是示出常规镜头畸变模型的图。
图5A-5C是示出用于从无畸变图像生成畸变图像的常规方法的图。
图6A-6D是示出根据一个实施例的统一投影模块的图。
图7是示出根据一个实施例的合并立方体图图像的投影模块的图。
图8A-C是示出根据一个实施例的用于从无畸变立方体图图像生成具有大FOV的相机(例如,鱼眼镜头)的畸变图像的方法的图。
图9是示出了根据一个实施例的用于从无畸变立方体图图像生成目标畸变图像的示例方法的流程图。
图10是示出根据一个实施例的示例设备的框图。
具体实施方式
将参考下面讨论的细节来描述本公开的各种实施例和方面,并且附图将示出各种实施例。以下描述和附图是本公开的说明,并且不应被解释为限制本公开。许多具体细节被描述以提供对本公开的各种实施例的全面理解。然而,在某些情况下,为提供对本公开的实施例的简要讨论,没有描述公知的或常规的细节。
在说明书中对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以被包含在本公开的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定都指相同的实施例。
根据一些实施例,公开了一种用于从合成的无畸变的源立方体图图像生成目标畸变图像的方法,装置和系统。生成合成的无畸变的源立方体图图像。对于目标畸变图像的每个像素,确定与目标畸变图像的像素对应的源立方体图图像的像素。对于目标畸变图像的每个像素,确定源立方体图图像的对应像素的颜色。之后,在目标畸变图像的每个像素处填充与源立方体图图像的对应像素的确定颜色相同的颜色。
在一个实施例中,对于目标畸变图像上的每个像素,为确定与目标畸变图像的像素对应的源立方体图图像的像素,将目标畸变图像的像素从图像平面投影到归一化平面。使用逆畸变来确定无畸变归一化平面上的对应像素的位置。然后无畸变归一化平面上的对应像素被投影到单位球上。确定单位球上的投影像素的三维(3D)矢量。将与3D矢量对应的源立方体图图像的像素确定为与目标畸变图像的像素对应的源立方体图图像的像素。
在一个实施例中,目标畸变图像体现鱼眼镜头的径向镜头畸变。在一个实施例中,鱼眼镜头具有超过180度的视场(FOV)。在一个实施例中,源立方体图图像的对应像素的颜色在红绿蓝(RGB)颜色空间中。在一个实施例中,目标畸变图像用于训练用于自动驾驶的感知模块。
图1是示出根据本公开的一个实施例的自主车辆网络配置的框图。参考图1,网络配置100包括可以通过网络102通信地耦接到一个或多个服务器103-104的自主车辆101。尽管示出一个自主车辆,但是多个自主车辆可以彼此耦接和/或通过网络102耦接到服务器103-104。网络102可以是任何类型的网络,例如局域网(LAN)、广域网(WAN)(诸如Internet、蜂窝网络、卫星网络或其组合)、有线或无线的网络。服务器103-104可以是任何类型的服务器或服务器集群,诸如Web或云服务器、应用程序服务器、后端服务器或其组合。服务器103-104可以是数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(map and pointof interest,MPOI)服务器或位置服务器等。
自主车辆是指可以被配置为自主模式的车辆,在自主模式下,车辆在很少或没有驾驶员输入的情况下导航通过环境。这种自主车辆可以包括具有一个或多个传感器的传感器系统,一个或多个传感器被配置为检测关于车辆在其中运行的环境的信息。车辆及其关联的控制器使用检测的信息导航通过环境。自主车辆101可以以手动模式,完全自主模式或部分自主模式操作。
在一个实施例中,自主车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户接口系统113和传感器系统115。自主车辆101还可以包括普通车辆中包括的某些通用部件,诸如发动机、车轮、方向盘、变速器等,这些部件可以由车辆控制系统111和/或感知和规划系统110使用各种通信信号和/或命令(诸如,例如加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等)来控制。
组件110-115可以经由互连、总线、网络或其组合彼此通信地耦接。例如,组件110-115可以经由控制器局域网(CAN)总线彼此通信地耦接。CAN总线是一种车辆总线标准,其被设计为允许微控制器和设备在没有主机的应用中彼此通信。它是基于消息的协议,最初被设计用于汽车内的多路电气布线,但也用于许多其他情况。
现在参考图2,在一个实施例中,传感器系统115包括但不限于一个或多个相机211、全球定位系统(GPS)单元212、惯性测量单元(inertial measurement unit,IMU)213、雷达单元GPS、以及光检测和测距(light detection and range,LIDAR)单元215。GPS系统212可以包括收发器,该收发器可操作以提供关于自主车辆的位置的信息。IMU单元213可以基于惯性加速度来感测自主车辆的位置和朝向改变。雷达单元214可以表示利用无线电信号来感测自主车辆的局部环境内的对象的系统。在一些实施例中,除了感测对象之外,雷达单元214还附加地感测对象的速度和/或前进方向。LIDAR单元215可以使用激光感测自主车辆所处环境中的对象。LIDAR单元215可以包括一个或多个激光源、激光扫描仪、和一个或多个检测器、以及其他系统组件。相机211可以包括一个或多个设备以捕获自主车辆周围的环境的图像。相机211可以是静态相机和/或视频相机。相机可以例如通过将相机安装在旋转和/或倾斜的平台上而机械地移动。
传感器系统115还可以包括其他传感器,诸如声纳传感器、红外传感器、转向传感器、油门传感器、制动传感器和音频传感器(例如,麦克风)。音频传感器可以被配置为从自主车辆周围的环境捕获声音。转向传感器可以被配置为感测方向盘、车辆的车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在某些情况下,油门传感器和制动传感器可以集成为集成的油门/制动传感器。
在一个实施例中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调整车辆的方向或前进方向。油门单元202用于控制电动机或发动机的速度,进而控制车辆的速度和加速度。制动单元203用于通过提供摩擦以使车辆的车轮或轮胎减速来使车辆减速。注意,图2中示出的组件可以以硬件、软件或其组合来实现。
再次参考图1,无线通信系统112用于允许自主车辆101与诸如设备、传感器、其他车辆等的外部系统之间的通信。例如,无线通信系统112可以直接或经由通信网络与一个或多个设备无线通信,例如经由网络102与服务器103-104通信。无线通信系统112可以使用任何蜂窝通信网络或无线局域网(WLAN)(例如使用WiFi)与另一组件或系统通信。无线通信系统112可以例如使用红外链路、蓝牙等与设备(例如乘客的移动设备、显示设备、车辆101中的扬声器)直接通信。用户接口系统113可以是车辆101内实施的外围设备的部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
自主车辆101的某些或全部功能可以由感知和规划系统110控制或管理,尤其是在以自主驾驶模式操作时。感知和规划系统110包括接收来自传感器系统115、控制系统111、无线通信系统112的信息、和/或用户接口系统113的信息,处理接收的信息,规划从起始点到目的地点的路线或路径,然后根据规划和控制信息驾驶车辆101的必要硬件(例如,处理器、存储器、存储设备)和软件(例如,操作系统、规划和路线程序)。可替代地,感知和规划系统110可以与车辆控制系统111集成在一起。
例如,作为乘客的用户可以例如经由用户接口指定行程的起始位置和目的地。感知和规划系统110获得行程相关数据。例如,感知和规划系统110可以从MPOI服务器获得位置和路线信息,该MPOI服务器可以是服务器103-104的部分。位置服务器提供位置服务,且MPOI服务器提供地图服务和某些位置的POI。可替代地,这样的位置和MPOI信息可以被本地缓存在感知和规划系统110的持久存储设备中。
当自主车辆101沿着路线移动时,感知和规划系统110还可以从交通信息系统或服务器(traffic information system,TIS)获得实时交通信息。注意,服务器103-104可以由第三方实体操作。可替换地,服务器103-104的功能可以与感知和规划系统110集成在一起。基于实时交通信息,MPOI信息、和位置信息、以及由传感器系统115检测或感测的实时本地环境数据(例如,障碍物、对象、附近的车辆)可以规划最佳路线,并且例如经由控制系统111根据规划的路线111驾驶车辆101,以安全有效地到达指定的目的地。
服务器103可以是数据分析系统,为各种客户端执行数据分析服务。在一个实施例中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121从各种车辆(自主车辆或由人类驾驶员驾驶的常规车辆)收集驾驶统计123。驾驶统计123包括指示发布的驾驶命令(例如,油门、制动、转向命令)和由车辆的传感器在不同时间点捕获的车辆的响应(例如,速度、加速度、减速度、方向)。驾驶统计123可以进一步包括描述在不同时间点的驾驶环境的信息,例如路线(包括起始点和目的地位置)、MPOI、道路状况、天气状况等。
基于驾驶统计123,机器学习引擎122出于各种目的生成或训练一组规则、算法和/或预测模型124。特别地,根据本公开的实施例生成的图像可以在机器学习引擎122处用于生成或训练规则、算法和/或预测模型124以改善ADV的感知能力。感知训练系统或模块125被配置为基于由传感器捕获的图像来训练感知模块或模型以执行障碍物的感知。然后可以将算法124上传到ADV上,以在自动驾驶过程中实时使用。
图3A和3B是示出根据一个实施例的与自主车辆一起使用的感知和规划系统的示例的框图。系统300可以被实施为图1的自主车辆101的部分,包括但不限于感知和规划系统110、控制系统111、和传感器系统115。参考图3A-3B,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路线模块307。
模块301-307的某些或全部可以以软件、硬件或其组合来实施。例如,这些模块可以被安装在永久存储设备352中、被加载到存储器351中、并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可以通信地耦接到图2的车辆控制系统111的一些或全部模块或与之集成。模块301-307中的一些可以集成在一起,作为集成模块。
定位模块301确定自主车辆300的当前位置(例如,利用GPS单元212),并管理与用户的行程或路线有关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可以例如经由用户接口登录并指定行程的起始位置和目的地。定位模块301与自主车辆300的其他组件(诸如地图和路线信息311)通信,以获得与行程有关的数据。例如,定位模块301可以从位置服务器以及地图和POI(MPOI)服务器获得位置和路线信息。位置服务器提供位置服务,且MPOI服务器提供地图服务和某些位置的POI,其可以被缓存为地图和路线信息311的部分。当自主车辆300沿路线移动时,定位模块301还可以从交通信息系统或服务器获取实时交通信息。
基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,感知模块302确定对周围环境的感知。感知信息可以表示普通驾驶员将在驾驶员正在驾驶的车辆的周围感知到什么。感知可以包括车道配置、交通灯信号、另一车辆的相对位置、行人、建筑物、人行横道、或例如对象形式的其他交通相关的标志(例如,停车标志、让步标志)。车道配置包括描述一个或多个车道的信息,诸如,例如车道的形状(例如,笔直或弯曲)、车道的宽度、道路中车道的数量、单向或双向车道、合流或分流车道、出口车道等。
感知模块302可以包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,以识别自主车辆的环境中的对象和/或特征。对象可以包括交通信号、道路边界、其他车辆、行人和/或障碍物等。计算机视觉系统可以使用对象识别算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统可以映射环境、跟踪对象并估计对象的速度等。感知模块302还可以基于由诸如雷达和/或LIDAR的其他传感器提供的其他传感器数据来检测对象。
对于每个对象,预测模块303预测在各种情况下对象将表现出什么。鉴于一组地图/路线信息311和交通规则312,基于在时间点感知驾驶环境的感知数据,执行预测。例如,如果对象是相反方向的车辆且当前驾驶环境包括交叉路口,预测模块303将预测车辆将可能笔直向前还是转弯。如果感知数据指示交叉路口没有交通灯,预测模块303可以预测车辆可能必须在进入交叉路口之前完全停止。如果感知数据指示车辆当前处于仅左转车道或仅右转车道,预测模块303可以预测车辆将更可能分别左转或右转。
对于每个对象,决策模块304做出关于如何处理对象的决策。例如,对于特定对象(例如,在交叉路线中的另一车辆)及其描述对象的元数据(例如,速度、方向、转向角度),决策模块304决定如何遇到该对象(例如,超车、让步、,停止、通过)。决策模块304可以根据存储在永久存储设备352中的诸如交通规则或驾驶规则312的一组规则来做出这样的决策。
路线模块307被配置为提供从起始点到目的地点的一个或多个路线或路径。对于例如从用户接收的从起始位置到目的地位置的给定行程,路线模块307获得路线和地图信息311,并确定从起始位置到达目的地位置的所有可能的路线或路径。路线模块307可以为每个路线(其确定从起始位置到达目的地位置)确定地形图形式的参考线。参考线是指不受诸如其他车辆、障碍物或交通状况等其他事务干扰的理想的路线或路径。也就是说,如果道路上没有其他车辆、行人或障碍物,ADV应该准确或紧密地跟随参考线。然后地形图被提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305根据其他模块提供的其他数据(诸如来自定位模块301的交通状况、感知模块302感知的驾驶环境、和预测模块303预测的交通状况)来检查所有可能的路线以选择和修改最佳路线之一。取决于时间点上特定驾驶环境,用于控制ADV的实际路径或路线可能与路线模块307提供的参考线接近或不同。
基于针对感知的每个对象的决定,规划模块305使用路线模块307提供的参考线作为基础,为自主车辆规划路径或路线以及驾驶参数(例如,距离、速度和/或转向角度)。也就是说,对于给定对象,决策模块304决定对对象做什么,而规划模块305确定如何做。例如,对于给定对象,决策模块304可以决定通过该对象,而规划模块305可以确定是在该对象的左侧还是在右侧通过。由规划模块305生成规划和控制数据,该规划和控制数据包括描述车辆300将在下一移动周期(例如,下一路线/路径段)中如何移动的信息。例如,规划和控制数据可以指示车辆300以30英里每小时(mph)的速度移动10米,然后以25mph的速度改变到右车道。
基于规划和控制数据,控制模块306根据规划和控制数据定义的路线或路径,通过向车辆控制系统111发送适当的命令或信号来控制并驾驶自主车辆。规划和控制数据包括驾驶车辆沿路径或路线在不同时间点使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)从路线或路径的第一点到第二点的足够信息。
在一个实施例中,以多个规划周期(也称为驾驶周期)执行规划阶段,诸如,例如以每100毫秒(ms)的时间间隔。对于每个规划周期或驾驶周期,将基于规划和控制数据发布一个或多个控制命令。即每100ms,规划模块305规划下一路线段或路径段(例如包括目标位置和ADV到达目标位置所需的时间)。可替换地,规划模块305还可以指定特定的速度、方向和/或转向角度等。在一个实施例中,规划模块305为下一预定时间段(诸如5秒)规划路线段或路径段。对于每个规划周期,规划模块305基于在前一个周期中规划的目标位置,为当前周期(例如,接下来的5秒)规划目标位置。然后,控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动、转向控制命令)。
注意,决策模块304和规划模块305可以被集成为集成模块。决策模块304/规划模块305可以包括导航系统或导航系统的功能,以确定自主车辆的行驶路径。例如,导航系统可以确定一系列速度和定向的前进方向,以影响自主车辆沿着基本上避开感知的障碍物的路径的移动,同时通常使自主车辆沿着通往最终目的地的基于道路的路径前进。可以根据经由用户接口系统113的用户输入来设置目的地。导航系统可以在自主车辆运行时动态地更新行驶路径。导航系统可以合并来自GPS系统的数据与一个或多个地图,以便确定自主车辆的行驶路径。
本领域中已知生成无畸变合成图像(即二维“2D”图像)并基于可能由真实世界物理相机引入的畸变使其变形以获得畸变图像的技术。
参考图4,示出说明常规镜头畸变模型400的图。如图4所示,镜系中的世界点被投影到以Cm(0,0,0)为中心的系Fm中的单位球上,特别地,可以如下计算Xs:
或者/>
然后,单位球上的投影点可以进一步投影到归一化平面πmu(对应于无畸变图像的平面)上,特别地,可以如下计算mu:
利用最终投影可以实现畸变消除:或/>特别地,利用Plum Bob模型,可以如下计算/>(省略切向畸变和更高阶径向畸变),其中,/>
因此,可以如下执行用于从合成的无畸变图像生成体现镜头径向畸变的畸变图像的常规技术。首先,生成合成的无畸变源2D图像。对于目标畸变图像中的每个像素(u’,v’),执行逆畸变处理以获得源图像中的对应像素(u,v)。此后,确定源图像中像素(u,v)的颜色,并将该颜色填充到目标畸变图像中的像素(u’,v’)处。逆畸变过程中使用的公式提供如下:
其中,k1,k2,k3,和k4是第一阶至第四阶径向畸变系数。
可以根据经验确定径向畸变系数。对目标畸变图像中的全部像素执行该处理。应当理解,目标畸变图像的边缘处的一些像素在无畸变的源图像中没有对应的像素。因此,通常对目标畸变图像进行裁剪以去除空白边缘像素。
参考图5A-5C,示出说明用于从无畸变图像生成畸变图像的常规方法的图500A-500C。图5A示出具有2578×1450分辨率的合成的无畸变源2D图像500A。图5B示出相同分辨率2578×1450的目标畸变图像500B。从图5B中可以看出,边缘处的像素是空白的,原因是其在源图像500A中没有对应的像素。图5C示出了通过裁剪图5B的目标畸变图像500B并仅保留中心部分而获得的分辨率为1920×1080的畸变图像500C。
包括上述用于生成畸变图像的常规技术的已知技术通常适用于具有中等FOV(通常,对于<=120°的FOV)的普通相机。然而,当FOV增加时(如在具有鱼眼相机/镜头的情况中),无畸变图像的所需分辨率呈指数增加,并且随着FOV向180°增加而可能达到无限大。结果,用于产生畸变图像的已知技术对于鱼眼相机(其可以具有接近或甚至大于180°的FOV)是不现实的。因为不存在FOV大于180°的无畸变图像,对于FOV大于180°的情况根本无法使用已知技术。
参考图6A-6D,示出说明根据一个实施例的统一投影模型的图600A-600D。镜系中的世界点被投影到以Cm(0,0,0)为中心的系Fm中的单位球上,特别地,可以如下计算Xs:
或者/>
然后,该点变为以Cp(0,0,ξ)为中心的新参考系Fp,
接下来,参考系Fp中单位球上的投影点可以被进一步投影到归一化平面πmu(对应于无畸变图像的平面)上,特别地,可以如下计算mu:
可以通过与上述关于常规方法的描述相同的方式(即,使用最终投影)来实现畸变消除,或者/>特别地,使用Plum Bob模型,可以如下计算/> (省略切向畸变和更高阶径向畸变),其中,
因此,可以如下执行用于从合成的无畸变图像生成体现镜头径向畸变的畸变图像的常规方法。首先,生成合成的无畸变源2D图像。对于目标畸变图像中的每个像素(u’,v’),执行逆畸变以获得源图像中的对应像素(u,v)。此后,获得源图像中像素(u,v)的颜色,并将该颜色填充到目标畸变图像中的像素(u’,v’)处。逆畸变过程中使用的公式被提供为如下:
其中,以及
其中,k1,k2,k3,和k4是第一阶至第四阶径向畸变系数。
然而,使用具有相同归一化平面πmu的逆畸变来为具有非常大的FOV的相机(例如,鱼眼相机)生成畸变图像可能是不现实的,尤其是当FOV接近甚至超过180°时。如图6B和6C所示,无畸变图像的所需分辨率随着镜头FOV的增加而呈指数增加,并可能随着FOV朝180°增加而接近无穷大。图6D示出镜头FOV超过180°的情况:不存在具有FOV大于180°的归一化平面πmu处的无畸变图像。
参考图7,示出说明根据一个实施例的与立方体图图像合作的投影模型的图700。与图6A-6D所示的图相比,在图7中,在归一化平面πmu处的无畸变图像被无畸变立方体图图像代替。立方体图图像或立方体图是指表示环境的反射的六个正方形纹理的集合。六个正方形构成围绕对象的假想立方体的面。每个面表示沿世界轴的方向(上、下、左、右、前和后)的视图。每个面的视图与90度视锥相关。因此,可以从合成的无畸变立方体图图像生成体现具有非常大的FOV的镜头的镜头径向畸变的畸变图像。首先,生成合成的无畸变源立方体图图像。对于目标畸变图像中的每个像素(u’,v’),执行逆畸变处理以获得归一化平面πmu中的对应像素(u,v)。逆畸变处理中使用的公式与上述关于常规方法的公式相同,并且再次提供如下:
其中,以及
其中,k1,k2,k3,和k4是第一阶至第四阶径向畸变系数。
接下来,将上述投影相逆:/>特别地,可以如下计算系Fp中的Xs,(Xs)Fp:
因此,对应于三维(3D)矢量(xs,ys,zs)的立方体图图像的像素对应于目标畸变图像中的像素(u’,v’)。应当理解,对应于特定3D矢量的立方体图图像的像素是与从3D立方体形式的立方体图的中心发出的3D矢量相交的立方体图图像的像素。此后,获得对应于三维(3D)矢量(xs,ys,zs)的立方体图图像的像素的颜色,并将该颜色填充到目标畸变图像中的像素(u’,v’)处。
参考图8A-8C,示出说明根据一个实施例的用于从无畸变立方体图图像生成具有大FOV的相机(例如,鱼眼相机)的畸变图像的方法800A-800C。图8A示出合成的无畸变源立方体图图像800A。图8B示出等矩形格式的合成的无畸变源立方体图图像。图8C示出利用如上所述的根据一个实施例的方法从无畸变源立方体图图像800A生成的目标畸变图像800C。
参考图9,示出说明根据一个实施例的用于从无畸变立方体图图像生成目标畸变图像的示例方法900的流程图。可以以硬件、软件或其组合来实现过程900。在框910处,生成合成的无畸变源立方体图图像。在框920处,对于目标畸变图像的每个像素,确定与目标畸变图像的像素对应的源立方体图图像的像素。在框930处,对于目标畸变图像的每个像素,确定源立方体图图像的对应像素的颜色。之后,在框940处,在目标畸变图像的每个像素处填充与源立方体图图像的对应像素的确定颜色相同的颜色。
参考图10,示出说明根据一个实施例的示例装置1100的框图。图10中示出的各种模块可以用硬件或软件来实现。感知训练模块1100可以被实施为图1的感知训练系统125的部分,用于训练自主驾驶系统的感知系统,诸如感知模块302。参照图10,立方体图图像生成模块1102被配置为生成合成的无畸变源立方体图图像。像素确定模块1104被配置为:为目标畸变图像的每个像素,确定对应于目标畸变图像的像素的源立方体图图像的像素。颜色确定模块1106被配置为:为目标畸变图像的每个像素,确定源立方体图图像的对应像素的颜色。颜色填充模块1108被配置为在目标畸变图像的每个像素处填充与源立方体图图像的对应像素的确定颜色相同的颜色。
注意,上面示出和描述的一些或全部组件可以以软件、硬件或其组合来实施。例如,这样的组件可以被实施为安装并存储在永久存储设备中的软件,软件可以由处理器(未示出)加载并在存储器中执行以执行整个本申请描述的过程或操作。可替换地,这样的组件可以被实施为被编程或嵌入到诸如集成电路(例如,专用IC或ASIC)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)的专用硬件中的可执行代码,其可以经由对应驱动器和/或操作系统从应用程序进行访问。此外,作为由软件组件经由一个或多个特定指令可访问的指令集的部分,这样的组件可以被实施为处理器或处理器核心中的特定硬件逻辑。
就对计算机存储器内的数据位的操作的算法和符号表示的方面,已经呈现前面详细描述的某些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地向本领域其他技术人员传达其工作实质的方式。算法在这里并且通常被认为是导致期望结果的自相容操作序列。这些操作是需要对物理量进行物理操纵的那些操作。
然而,应当牢记的是,所有这些和类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非从上述讨论中另外明确指出,应理解的是,在整个说明书中,利用诸如所附权利要求书中阐述的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备将计算机系统寄存器和存储器内表示为物理(电子)量的数据操纵和转换为计算机系统存储器或寄存器或其他这样的信息存储、发送或显示设备内的类似地表示为物理量的其他数据。
本公开的实施例还涉及用于执行本文中的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前述附图中描绘的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,应当理解的是,可以以不同的顺序执行描述的一些操作。此外,一些操作可以并行地执行而不是顺序地执行。
本公开的实施例不是参考任何特别编程语言描述的。将理解的是,可以使用各种编程语言来实施如本文描述的本公开的实施例的教导。
在前述说明书中,已经参考本公开的具体示例性实施例描述了本公开的实施例。显然,在不背离如所附权利要求书中阐述的本公开的更宽精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应被认为是说明性的而不是限制性的。
Claims (9)
1.一种用于生成畸变图像的计算机实施的方法,所述方法包括:
生成合成的无畸变源立方体图图像;以及
为目标畸变图像的每个像素,
确定对应于所述目标畸变图像的像素的所述源立方体图图像的像素,
确定所述源立方体图图像的对应像素的颜色,以及
填充与源立方体图图像的对应像素的确定颜色相同的颜色;
其中,为目标畸变图像的每个像素,确定对应于所述目标畸变图像的像素的所述源立方体图图像的像素包括:
将所述目标畸变图像的像素从像平面投影到无畸变归一化平面;
使用逆畸变确定所述无畸变归一化平面上对应像素的位置;
将所述无畸变归一化平面上的对应像素投影到单位球;
确定所述单位球上的投影像素的三维(3D)矢量;以及
将与所述3D矢量对应的源立方体图图像上的像素确定为与所述目标畸变图像的像素对应的所述源立方体图图像的像素。
2.根据权利要求1所述的方法,其中所述目标畸变图像体现鱼眼镜头的径向镜头畸变。
3.根据权利要求2所述的方法,其中所述鱼眼镜头的视场(FOV)超过180度。
4.根据权利要求1所述的方法,其中所述源立方体图图像的对应像素的颜色在红绿蓝(RGB)颜色空间中。
5.根据权利要求1至4中任一项所述的方法,还包括:使用所述目标畸变图像训练用于自主驾驶的感知模块。
6.一种非暂时性机器可读介质,其中存储有指令,指令在由处理器执行时使处理器执行根据权利要求1至5中任一项所述的用于生成畸变图像的计算机实施的方法。
7.一种数据处理系统,包括:
处理器;以及
存储器,耦接到处理器以存储指令,指令在由处理器执行时使处理器执行根据权利要求1至5中任一项所述的用于生成畸变图像的计算机实施的方法。
8.一种用于生成畸变图像的装置,所述装置包括:
立方体图图像生成模块,用于生成合成的无畸变源立方体图图像;以及
像素确定模块,用于为目标畸变图像的每个像素,确定对应于所述目标畸变图像的像素的所述源立方体图图像的像素;
颜色确定模块,用于为目标畸变图像的每个像素,确定所述源立方体图图像的对应像素的颜色,以及
颜色填充模块,用于为目标畸变图像的每个像素,填充与源立方体图图像的对应像素的确定颜色相同的颜色;
其中,所述像素确定模块还用于:
将所述目标畸变图像的像素从像平面投影到无畸变归一化平面;
使用逆畸变确定所述无畸变归一化平面上对应像素的位置;
将所述无畸变归一化平面上的对应像素投影到单位球;
确定所述单位球上的投影像素的三维(3D)矢量;以及
将与所述3D矢量对应的源立方体图图像上的像素确定为与所述目标畸变图像的像素对应的所述源立方体图图像的像素。
9.一种计算机程序产品,包括计算机程序,所述计算机程序在由处理器执行时使处理器执行根据权利要求1至5中任一项所述的用于生成畸变图像的计算机实施的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/693,070 | 2019-11-22 | ||
US16/693,070 US11276139B2 (en) | 2019-11-22 | 2019-11-22 | Way to generate images with distortion for fisheye lens |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112837209A CN112837209A (zh) | 2021-05-25 |
CN112837209B true CN112837209B (zh) | 2024-04-16 |
Family
ID=75923101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011290057.1A Active CN112837209B (zh) | 2019-11-22 | 2020-11-17 | 对鱼眼镜头生成具有畸变的图像的新方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11276139B2 (zh) |
CN (1) | CN112837209B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11276139B2 (en) * | 2019-11-22 | 2022-03-15 | Baidu Usa Llc | Way to generate images with distortion for fisheye lens |
US11594016B1 (en) * | 2022-05-03 | 2023-02-28 | Plusai, Inc. | Navigating a vehicle based on data processing using synthetically generated images |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780374A (zh) * | 2016-12-01 | 2017-05-31 | 哈尔滨工业大学 | 一种基于鱼眼成像模型的鱼眼图像畸变矫正方法 |
CN110378837A (zh) * | 2019-05-16 | 2019-10-25 | 四川省客车制造有限责任公司 | 基于鱼眼摄像头的目标检测方法、装置和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463020B1 (en) * | 2008-07-08 | 2013-06-11 | Imove, Inc. | Centralized immersive image rendering for thin client |
JP4629131B2 (ja) * | 2008-09-03 | 2011-02-09 | 大日本印刷株式会社 | 画像変換装置 |
WO2010095178A1 (ja) * | 2009-02-23 | 2010-08-26 | 富士通株式会社 | 多色ベクトル画像処理装置および方法 |
JP5521750B2 (ja) * | 2010-05-10 | 2014-06-18 | 富士通株式会社 | シミュレーションプログラム、シミュレーション装置及びシミュレーション方法 |
US11288525B2 (en) * | 2018-10-31 | 2022-03-29 | Texas Instruments Incorporated | Object detection for distorted images |
US10846831B2 (en) * | 2018-12-19 | 2020-11-24 | GM Global Technology Operations LLC | Computing system for rectifying ultra-wide fisheye lens images |
US11100371B2 (en) * | 2019-01-02 | 2021-08-24 | Cognata Ltd. | System and method for generating large simulation data sets for testing an autonomous driver |
US10460208B1 (en) * | 2019-01-02 | 2019-10-29 | Cognata Ltd. | System and method for generating large simulation data sets for testing an autonomous driver |
CN110648274B (zh) * | 2019-09-23 | 2024-02-02 | 创新先进技术有限公司 | 鱼眼图像的生成方法及装置 |
US11276139B2 (en) * | 2019-11-22 | 2022-03-15 | Baidu Usa Llc | Way to generate images with distortion for fisheye lens |
-
2019
- 2019-11-22 US US16/693,070 patent/US11276139B2/en active Active
-
2020
- 2020-11-17 CN CN202011290057.1A patent/CN112837209B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780374A (zh) * | 2016-12-01 | 2017-05-31 | 哈尔滨工业大学 | 一种基于鱼眼成像模型的鱼眼图像畸变矫正方法 |
CN110378837A (zh) * | 2019-05-16 | 2019-10-25 | 四川省客车制造有限责任公司 | 基于鱼眼摄像头的目标检测方法、装置和存储介质 |
Non-Patent Citations (3)
Title |
---|
基于鱼眼镜头的全方位视觉系统的设计及实现;苑光明等;《河北工业大学学报》;第39卷(第2期);第1-3页 * |
苑光明等.基于鱼眼镜头的全方位视觉系统的设计及实现.《河北工业大学学报》.2010,第39卷(第2期),第1-3页. * |
鱼眼镜头径向畸变的校正方法;宋阳等;《仪器仪表学报》;第38卷(第4期);第1014-1023页 * |
Also Published As
Publication number | Publication date |
---|---|
US11276139B2 (en) | 2022-03-15 |
CN112837209A (zh) | 2021-05-25 |
US20210158474A1 (en) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113128326B (zh) | 具有语义地图和lstm的车辆轨迹预测模型 | |
CN111775933B (zh) | 用于基于车辆周围障碍物的移动轨迹自主驾驶车辆的方法 | |
CN111775957B (zh) | 用于自主驾驶车辆的传感器校准系统 | |
US11485360B2 (en) | Dynamic speed limit adjustment system based on perception results | |
EP3825958B1 (en) | A new way to generate tight 2d bounding boxes for autonomous driving labeling | |
US11703599B2 (en) | Partial point cloud-based pedestrians' velocity estimation method | |
US20220050191A1 (en) | Recalibration determination system for autonomous driving vehicles with multiple lidar sensors | |
CN112837209B (zh) | 对鱼眼镜头生成具有畸变的图像的新方法 | |
US11661085B2 (en) | Locked pedestrian detection and prediction for autonomous vehicles | |
US20220003855A1 (en) | Point clouds based lidar recalibration system for autonomous vehicles | |
US11609333B2 (en) | Point cloud feature-based obstacle filter system | |
US11429115B2 (en) | Vehicle-platoons implementation under autonomous driving system designed for single vehicle | |
CN113642372B (zh) | 在自主驾驶车辆的操作中基于灰度图像识别对象的方法和系统 | |
US11061403B2 (en) | Path planning with a preparation distance for a lane-change | |
US11288528B2 (en) | Differentiation-based traffic light detection | |
US20210303874A1 (en) | A point cloud-based low-height obstacle detection system | |
US11529969B2 (en) | Pull over method based on quadratic programming for path planning | |
WO2024036618A1 (en) | Dynamic signal transfer configuration for driverless vehicle remote monitoring |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |