CN110930312A - 一种用于生成鱼眼相机图像的方法与设备 - Google Patents
一种用于生成鱼眼相机图像的方法与设备 Download PDFInfo
- Publication number
- CN110930312A CN110930312A CN201811095199.5A CN201811095199A CN110930312A CN 110930312 A CN110930312 A CN 110930312A CN 201811095199 A CN201811095199 A CN 201811095199A CN 110930312 A CN110930312 A CN 110930312A
- Authority
- CN
- China
- Prior art keywords
- perspective
- fisheye
- perspective camera
- pixel
- camera image
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000003384 imaging method Methods 0.000 claims abstract description 107
- 238000013507 mapping Methods 0.000 claims description 73
- 230000015654 memory Effects 0.000 claims description 36
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000009434 installation Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000005291 magnetic effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
Abstract
本申请的目的是提供一种用于生成鱼眼相机图像的方法和设备,基于多个透视相机图像以及相应的深度相机图像确定一个或者多个像素所对应的场景坐标,根据每个像素对应的场景坐标以及坐标对应关系确定每个像素在成像平面上所对应的鱼眼成像坐标,并基于每个像素及其鱼眼成像坐标生成对应的鱼眼相机图像。本申请能够基于多个FOV较小的透视相机图像生成具有较大FOV的鱼眼相机图像。
Description
技术领域
本申请涉及计算机视觉领域,尤其涉及一种用于生成鱼眼相机图像的技术。
背景技术
目前在自动驾驶、机器人、仿真引擎等计算机视觉应用领域所使用的真实/仿真针孔模型摄像头,其视场角(Field of View,FOV)一般小于180度,覆盖范围不够广,相应地单张图片中所包含的信息也较少,在进行计算机视觉相关算法的探索中带来较大的局限性。
发明内容
本申请的一个目的是提供一种用于生成鱼眼相机图像的方法。
根据本申请的一个方面,提供了一种用于生成鱼眼相机图像的方法,该方法包括以下步骤:
基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的一个或者多个像素所对应的场景坐标;
根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标;以及
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的另一个方面,提供了一种用于生成鱼眼相机图像的方法,该方法包括以下步骤:
基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标;以及
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的一个方面,提供了一种用于生成鱼眼相机图像的设备,该设备包括:
场景坐标确定模块,用于基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标;
成像坐标确定模块,用于根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标;以及
图像生成模块,用于基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的另一个方面,提供了一种用于生成鱼眼相机图像的设备,该设备包括:
成像坐标确定模块,用于基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标;以及
图像生成模块,用于基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的一个方面,提供了一种用于生成鱼眼相机图像的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标;
根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标;以及
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的另一个方面,提供了一种用于生成鱼眼相机图像的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标;以及
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的一个方面,提供了一种包括指令的计算机可读介质,所述指令在被执行时使得系统执行以下操作:
基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标;
根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标;以及
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
根据本申请的另一个方面,提供了一种包括指令的计算机可读介质,所述指令在被执行时使得系统执行以下操作:
基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标;以及
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
与现有技术相比,本申请基于多个FOV较小的普通针孔模型透视相机的图像生成具有较大FOV的鱼眼相机图像,从而能够在单张图像中包含更多的信息,尤其是在当前的仿真引擎中尚无内嵌的仿真鱼眼摄像头的情况下,对探索计算机视觉算法提供了极大的帮助。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请一个实施例的用于生成鱼眼相机图像的方法流程图;
图2是根据本申请一个实施例的鱼眼相机图像的分区示意图;
图3是根据本申请一个实施例的多个透视相机的配置示意图;
图4是根据本申请另一个实施例的用于生成鱼眼相机图像的方法流程图;
图5示出根据本申请一个实施例的用于生成鱼眼相机图像的设备的功能框图;
图6示出根据本申请另一个实施例的用于生成鱼眼相机图像的设备的功能框图;
图7示出根据本申请一个实施例的用于生成鱼眼相机图像的设备的结构框图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
以下基于一种用于生成鱼眼相机图像的设备(或称为鱼眼图像生成设备),对本申请的具体实施方式进行详细描述。
根据本申请的一个方面,提供了一种用于生成鱼眼相机图像的方法。参考图1,该方法包括步骤S100、步骤S110和步骤S120。
在步骤S100中,鱼眼图像生成设备基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标。在一些实施例中,所述多个透视相机图像和多个深度相机图像分别由多个透视相机和多个深度相机生成;将透视相机抽象为针孔相机模型后,根据透视相机图像的分辨率、FOV可以计算出透视相机的内参。基于相似三角形原理,结合计算出的透视相机的内参以及相应的深度相机图像,即可得到透视相机图像中的像素在空间中所对应的场景坐标,例如该场景坐标是空间中实景对应该像素的物点的空间坐标。其中,在一些实施例中,每个透视相机图像由仿真引擎(例如,unreal engine4,vrep等)提供的针孔模型透视相机生成。
透视相机图像的FOV一般小于180度,而鱼眼相机图像的FOV可以达到甚至超过180度(例如达到200度左右),因此单张鱼眼相机图像所能提供的场景范围比单张透视相机图像所能提供的场景范围更广。首先参考图2示出的鱼眼图像的示意图,该鱼眼图像是在对多个透视相机图像进行处理后得到的,其不同部分的像素的像素值有可能来自不同的透视相机图像。图2示出的鱼眼相机图像主要包括a,b,c,d,e五个部分,而该鱼眼相机图像基于五个透视相机图像(图像A、图像B、图像C、图像D和图像E)生成,这五个透视相机图像的配置如图3所示,图像A,B,C,D,E所提供的图像信息分别对应于鱼眼相机图像中的a,b,c,d,e部分。在此,需要说明的是,图3示出的透视相机图像的配置仅为示意,用于说明各个透视相机的视场之间的关系,但并不构成对实际实施方式的限定。例如,每个透视相机图像的视场可能与至少一个其他透视相机图像的视场部分重叠。
在步骤S110中,鱼眼图像生成设备根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标。在一些实施例中,首先确定一个成像平面,基于这些透视相机图像生成的鱼眼相机图像将形成于该成像平面上。例如,可将鱼眼相机抽象为ETH模型,并以半球面来描述。由于球面作用和光线的非线性投射,通过半球面投射后,光线在鱼眼相机的成像平面上形成具有较大FOV和一定的畸变的鱼眼相机图像。相应地,在获得每个像素对应的场景坐标后,根据上述非线性投射关系,每个像素在鱼眼相机的成像平面上对应的位置亦可确定,例如,每个像素在鱼眼相机的成像平面上所对应的鱼眼成像坐标可确定。
在步骤S120中,鱼眼图像生成设备基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。例如,在每个像素对应的鱼眼成像坐标确定后,对于该像素,基于透视相机图像上像素的像素值(例如颜色空间信息,包括但不限于RGB颜色空间信息),在鱼眼成像坐标所对应的鱼眼相机成像平面上相应的像素位置进行成像(例如,使鱼眼相机成像平面上的像素与对应的透视相机图像上的像素的颜色空间信息相同)。
通过上述方法,鱼眼图像生成设备可基于多个透视相机图像生成相应的鱼眼相机图像。进一步地,在将上述方法用于图像仿真领域时,如果仿真引擎未提供仿真的鱼眼摄像头,利用仿真引擎和计算机视觉几何相关技术,上述方法可用于提供仿真的具有较大FOV的鱼眼相机图像,有助于提升计算机视觉相关算法的性能。例如,在自动驾驶领域,如果没有仿真的鱼眼摄像头,就需要驾驶搭载了鱼眼相机的车辆进行路试,这需要花费大量的人力物力;而在取得仿真的鱼眼相机图像后,基于仿真的鱼眼相机图像即可模拟真实的鱼眼相机图像进行算法的训练和优化,因此能够大大减少更新算法的投入。此外,上述方法还可生成具有任意FOV的鱼眼图像,且可以得到深度信息等地面实况(Ground Truth),以便探索新的计算机视觉算法,例如在一些实施例中,在生成鱼眼图像的同时,也记录鱼眼相机图像上每个像素所对应的深度信息。
在一些实施例中,为了避免鱼眼相机图像发生信息丢失,多个透视相机图像的视野需要有重叠部分,每个透视相机图像的视场至少与另一个透视相机图像的视场部分重合。仍然参考图1和图2,例如,为了使生成的鱼眼图像中的部分a和部分d之间不存在信息丢失,透视相机图像A和透视相机图像D对应的视场应有交叠。同理,透视相机图像A和透视相机图像B、C、E各自对应的视场也应有交叠;透视相机图像C和D、D和B、B和E、E和C各自对应的视场也分别应有交叠。换句话说,对应于鱼眼相机图像上的相邻部分的每两个透视相机图像,它们的视场是部分重合的。
其中,在两个透视相机图像的视场有重叠时,重叠区域对应的空间场景在两个透视相机图像中同时成像。理论上,两个透视相机对场景中的同一点成像,结合深度相机图像获得的该点在空间中的场景坐标是相同的,因此在实际操作中,可以基于两个透视相机图像中任一个确定该点的场景坐标;在一些实施例中,也可分别根据两个透视相机图像确定相应的场景坐标,并对这两个坐标进行计算后得到该点的场景坐标以减小误差,例如将根据两个透视相机图像确定的场景坐标取算术平均值,并将该算术平均值作为该点的场景坐标。
在一些实施例中,步骤S100包括步骤S101(未示出)和步骤S102(未示出)。在步骤S101中,鱼眼图像生成设备根据多个透视相机图像中的每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数(例如内部参数fx=762.7223,fy=762.7223,cx=640,cy=360)。在步骤S102中,鱼眼图像生成设备基于每个透视相机图像所对应的透视相机的内部参数以及每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的一个或者多个像素所对应的场景坐标。
为方便处理,可将上述多个透视相机、多个深度相机和用于生成鱼眼相机图像的成像平面统一至同一坐标系。在一些实施例中,上述方法还包括步骤S130(未示出)和步骤S140(未示出)。在步骤S130中,鱼眼图像生成设备基于多个透视相机中每个透视相机相对于其本体坐标系的外部参数,确定每个透视相机相对于第一坐标系的外部参数,例如通过平移、旋转等变换,将每个透视相机相对于其自身坐标系的外部参数转换为相对于第一坐标系的外部参数。例如,以生成的鱼眼相机图像对应的鱼眼相机的光心(位于前述成像平面上)为原点建立一坐标系,将该坐标系作为鱼眼相机的本体坐标系,并将鱼眼相机的本体坐标系作为上述第一坐标系。在步骤S140中,鱼眼图像生成设备基于每个透视相机的相对于所述第一坐标系的外部参数,生成多个透视相机图像以及与每个透视相机图像对应的深度相机图像,例如,将所述多个透视相机和多个深度相机的坐标系通过安装时确定的外部参数转换至鱼眼相机的本体坐标系上,再通过每个透视相机和深度相机获取相应的透视相机图像和深度相机图像。在得到这些透视相机图像和深度相机图像后,再由鱼眼图像生成设备在步骤S100中确定所述多个透视相机图像中的多个像素所对应的场景坐标。
为确保生成的鱼眼相机图像的对称性,在一些实施例中,所述多个透视相机相对于所述鱼眼相机图像的中心法线对称分布。例如,当所述多个透视相机图像分别由多个仿真透视相机生成时,调整所述多个仿真透视相机的安装角度,使它们的光轴相对于鱼眼相机图像的中心法线对称设置。其中,在一些实施例中,所述多个透视相机包括中心透视相机,例如,参考图3,该中心透视相机用于提供透视相机图像A,则所述中心法线通过所述中心透视相机的视场的中心,以确保鱼眼相机图像的中心部分(例如图2中的a部分)也是对称的。
在一些实施例中,透视相机图像上的像素在鱼眼相机的成像平面上的对应位置是通过非线性投射关系确定的,该非线性投射关系基于泰勒级数生成。例如,在一个实施例中,透视相机的内部参数为:fx=fy=369.5042,cx=640,cy=360,分辨率1280×720,fov=120度;对应的非线性投射关系根据10级泰勒级数得到,泰勒展开式系数分别为:581.028833,465.467839,38.872200,-16.195694,57.943426,47.935745,-41.550425,-66.723389,-31.058115,-5.118514。其中,泰勒展开式的级数过少,会使生成的鱼眼相机图像难以逼近真实鱼眼相机所拍摄的鱼眼相机图像,而级数过多则会造成计算量太大、处理效率低下。
由于实时生成每一帧鱼眼相机图像都需要计算非常复杂的高维矩阵乘法和泰勒展开式,因此连续生成鱼眼相机图像将耗费大量的系统资源并花费较长的时间。为了减小对系统资源的消耗、提升鱼眼相机图像的生成效率,在根据非线性投射关系确定透视相机图像上的多个像素对应的鱼眼相机图像像素位置后,在透视相机的相关参数不变的情况下,根据透视相机图像上的像素和鱼眼相机图像上的像素之间的映射关系,即可用于生成新的鱼眼相机图像,而不需要对每一帧鱼眼相机图像分别计算复杂的矩阵乘法和泰勒展开式,能够极大地提升算法的速度。
基于以上所述,在一些实施例中,上述方法还包括步骤S150(未示出)。在步骤S150中,鱼眼图像生成设备基于每个像素在透视相机图像上的透视成像坐标,以及该像素的鱼眼成像坐标,确定每个像素的像素映射信息。在一些实施例中,通过遍历所有的透视相机图像上的每个像素的方式,确定透视相机图像上每个像素对应的像素映射关系。
在一些实施例中,上述方法还包括步骤S160(未示出)、步骤S170(未示出)和步骤S180(未示出)。
其中在步骤S160中,鱼眼图像生成设备更新所述多个透视相机图像,以获取多个待处理的透视相机图像,例如,在透视相机的参数和安装方式不变的前提下,所述多个透视相机各自重新采集新的透视相机图像(例如,这多个透视相机在场景中所处的方位发生了变化,因此采集的透视相机图像也相应发生了变化),作为待处理的透视相机图像,用于生成新的鱼眼相机图像。在步骤S170中,鱼眼图像生成设备基于以上所述的多个待处理的透视相机图像,以及以上所述的像素映射关系,确定多个待处理的透视相机图像上的多个像素(或称为第一像素)在鱼眼相机成像平面上所对应的成像坐标(或称为第一鱼眼成像坐标)。在步骤S180中,鱼眼图像生成设备基于每个第一像素及其第一鱼眼成像坐标,生成对应的第一鱼眼相机图像。
以上所述的像素映射信息可用于即时地根据透视相机图像生成鱼眼相机图像,并且在透视相机图像更新后更新相应的鱼眼相机图像。在生成新的鱼眼相机图像的过程中,无需计算复杂的高维矩阵乘法和高阶的泰勒展开式,极大地提升了算法的速度,鱼眼相机图像生成操作的实时性好。另外,在获得上述像素映射信息后,就不再需要确定每个像素在空间中所对应的场景坐标,因此深度相机也可取消以节省系统资源。
在一些实施例中,可将上述像素映射信息保存以供之后使用,从而拓展本申请中鱼眼图像生成方法的适用场景,例如,在多个透视相机的参数、安装方式相同的前提下,只需读取该像素映射信息,即可根据相应的透视相机图像生成鱼眼相机图像,而无需重新确定透视相机图像中的像素和鱼眼相机图像中的像素之间的对应关系。相应地,上述方法还包括步骤S190(未示出)。在步骤S190中,鱼眼图像生成设备基于所述像素映射信息生成像素映射文件。其中,在一些实施例中,该像素映射文件为二进制文件。例如,生成的像素映射信息暂时存储于鱼眼图像生成设备的内部存储装置(例如RAM)中,将其整体转存至外部存储装置(例如硬盘)中以得到像素映射文件。由于不需要进行进一步的数据处理,转存像素映射文件不需要耗费过多的系统资源,且鱼眼图像生成设备读取该文件后可直接将数据还原至内部存储装置中,系统投入使用的速度也较快。另外,在不知道数据结构、算法或程序接口的情况下,二进制文件无法被直接使用,因此将像素映射文件保存为二进制文件有助于数据的加密。
根据以上所述,在预先已经确定得到像素映射信息的情况下,如果透视相机的参数和安装方式相匹配,鱼眼图像生成设备根据该像素映射信息,根据该像素映射信息即可生成鱼眼相机图像,而无需重新计算复杂的矩阵乘法和泰勒展开式。进一步地,只需在一台鱼眼图像生成设备上生成上述像素映射信息,即可将该像素映射信息用于其他的鱼眼图像生成设备,从而实现鱼眼相机图像的大批量生成。
据此,根据本申请的另一方面,提供了一种用于生成鱼眼相机图像的方法。参考图4,该方法包括步骤S210和步骤S220。在步骤S210中,鱼眼图像生成设备基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标。在步骤S220中,鱼眼图像生成设备基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
而在生成上述像素映射信息的鱼眼图像生成设备将上述像素映射信息保存为像素映射文件后,其他鱼眼图像生成设备即可从该像素映射文件中读取上述像素映射信息。在一些实施例中,上述方法还包括步骤S205(未示出)。在步骤S205中,鱼眼图像生成设备基于像素映射文件,获取多个像素映射信息。随后在步骤S210中,鱼眼图像生成设备基于多个待处理的透视相机图像以及所述像素映射信息,确定所述多个待处理的透视相机图像中的像素的鱼眼成像坐标。
本领域技术人员应能理解,以上基于五个透视相机图像而生成鱼眼相机图像的实施方式仅为举例,而不对本申请进行任何限定。事实上,只要多个透视相机图像满足特定的要求,即可用于生成相应的鱼眼相机图像,例如每个透视相机图像的视场至少与另一个透视相机图像的视场部分重合,并且至少有一个透视相机图像能够提供鱼眼相机图像的视场的中央部分(例如,用于生成图1中所示出的a部分)。
根据本申请的一个方面,提供了一种鱼眼图像生成设备。参考图5,该设备包括场景坐标确定模块100、成像坐标确定模块110和图像生成模块120。
场景坐标确定模块100基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标。在一些实施例中,所述多个透视相机图像和多个深度相机图像分别由多个透视相机和多个深度相机生成;将透视相机抽象为针孔相机模型后,根据透视相机图像的分辨率、FOV可以计算出透视相机的内参。基于相似三角形原理,结合计算出的透视相机的内参以及相应的深度相机图像,即可得到透视相机图像中的像素在空间中所对应的场景坐标,例如该场景坐标是空间中实景对应该像素的物点的空间坐标。其中,在一些实施例中,每个透视相机图像由仿真引擎(例如,unreal engine 4,vrep等)提供的针孔模型透视相机生成。
透视相机图像的FOV一般小于180度,而鱼眼相机图像的FOV可以达到甚至超过180度(例如达到200度左右),因此单张鱼眼相机图像所能提供的场景范围比单张透视相机图像所能提供的场景范围更广。首先参考图2示出的鱼眼图像的示意图,该鱼眼图像是在对多个透视相机图像进行处理后得到的,其不同部分的像素的像素值有可能来自不同的透视相机图像。图2示出的鱼眼相机图像主要包括a,b,c,d,e五个部分,而该鱼眼相机图像基于五个透视相机图像(图像A、图像B、图像C、图像D和图像E)生成,这五个透视相机图像的配置如图3所示,图像A,B,C,D,E所提供的图像信息分别对应于鱼眼相机图像中的a,b,c,d,e部分。在此,需要说明的是,图3示出的透视相机图像的配置仅为示意,用于说明各个透视相机的视场之间的关系,但并不构成对实际实施方式的限定。例如,每个透视相机图像的视场可能与至少一个其他透视相机图像的视场部分重叠。
成像坐标确定模块110根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标。在一些实施例中,首先确定一个成像平面,基于这些透视相机图像生成的鱼眼相机图像将形成于该成像平面上。例如,可将鱼眼相机抽象为ETH模型,并以半球面来描述。由于球面作用和光线的非线性投射,通过半球面投射后,光线在鱼眼相机的成像平面上形成具有较大FOV和一定的畸变的鱼眼相机图像。相应地,在获得每个像素对应的场景坐标后,根据上述非线性投射关系,每个像素在鱼眼相机的成像平面上对应的位置亦可确定,例如,每个像素在鱼眼相机的成像平面上所对应的鱼眼成像坐标可确定。
图像生成模块120基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。例如,在每个像素对应的鱼眼成像坐标确定后,对于该像素,基于透视相机图像上像素的像素值(例如颜色空间信息,包括但不限于RGB颜色空间信息),在鱼眼成像坐标所对应的鱼眼相机成像平面上相应的像素位置进行成像(例如,使鱼眼相机成像平面上的像素与对应的透视相机图像上的像素的颜色空间信息相同)。
通过上述方法,鱼眼图像生成设备可基于多个透视相机图像生成相应的鱼眼相机图像。进一步地,在将上述方法用于图像仿真领域时,如果仿真引擎未提供仿真的鱼眼摄像头,利用仿真引擎和计算机视觉几何相关技术,上述方法可用于提供仿真的具有较大FOV的鱼眼相机图像,有助于提升计算机视觉相关算法的性能。例如,在自动驾驶领域,如果没有仿真的鱼眼摄像头,就需要驾驶搭载了鱼眼相机的车辆进行路试,这需要花费大量的人力物力;而在取得仿真的鱼眼相机图像后,基于仿真的鱼眼相机图像即可模拟真实的鱼眼相机图像进行算法的训练和优化,因此能够大大减少更新算法的投入。此外,上述方法还可生成具有任意FOV的鱼眼图像,且可以得到深度信息等地面实况(Ground Truth),以便探索新的计算机视觉算法,例如在一些实施例中,在生成鱼眼图像的同时,也记录鱼眼相机图像上每个像素所对应的深度信息。
在一些实施例中,为了避免鱼眼相机图像发生信息丢失,多个透视相机图像的视野需要有重叠部分,每个透视相机图像的视场至少与另一个透视相机图像的视场部分重合。仍然参考图1和图2,例如,为了使生成的鱼眼图像中的部分a和部分d之间不存在信息丢失,透视相机图像A和透视相机图像D对应的视场应有交叠。同理,透视相机图像A和透视相机图像B、C、E各自对应的视场也应有交叠;透视相机图像C和D、D和B、B和E、E和C各自对应的视场也分别应有交叠。换句话说,对应于鱼眼相机图像上的相邻部分的每两个透视相机图像,它们的视场是部分重合的。
其中,在两个透视相机图像的视场有重叠时,重叠区域对应的空间场景在两个透视相机图像中同时成像。理论上,两个透视相机对场景中的同一点成像,结合深度相机图像获得的该点在空间中的场景坐标是相同的,因此在实际操作中,可以基于两个透视相机图像中任一个确定该点的场景坐标;在一些实施例中,也可分别根据两个透视相机图像确定相应的场景坐标,并对这两个坐标进行计算后得到该点的场景坐标以减小误差,例如将根据两个透视相机图像确定的场景坐标取算术平均值,并将该算术平均值作为该点的场景坐标。
在一些实施例中,场景坐标确定模块100包括内部参数确定单元101(未示出)和场景坐标确定单元102(未示出)。内部参数确定单元101根据多个透视相机图像中的每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数(例如内部参数fx=762.7223,fy=762.7223,cx=640,cy=360)。场景坐标确定单元102基于每个透视相机图像所对应的透视相机的内部参数以及每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标。
为方便处理,可将上述多个透视相机、多个深度相机和用于生成鱼眼相机图像的成像平面统一至同一坐标系。在一些实施例中,上述设备还包括外部参数确定模块130(未示出)和第一图像生成模块140(未示出)。外部参数确定模块130基于多个透视相机中每个透视相机相对于其本体坐标系的外部参数,确定每个透视相机相对于第一坐标系的外部参数,例如通过平移、旋转等变换,将每个透视相机相对于其自身坐标系的外部参数转换为相对于第一坐标系的外部参数。例如,以生成的鱼眼相机图像对应的鱼眼相机的光心(位于前述成像平面上)为原点建立一坐标系,将该坐标系作为鱼眼相机的本体坐标系,并将鱼眼相机的本体坐标系作为上述第一坐标系。第一图像生成模块140基于每个透视相机的相对于所述第一坐标系的外部参数,生成多个透视相机图像以及与每个透视相机图像对应的深度相机图像,例如,将所述多个透视相机和多个深度相机的坐标系通过安装时确定的外部参数转换至鱼眼相机的本体坐标系上,再通过每个透视相机和深度相机获取相应的透视相机图像和深度相机图像。在得到这些透视相机图像和深度相机图像后,再由场景坐标确定模块100确定所述多个透视相机图像中的多个像素所对应的场景坐标。
为确保生成的鱼眼相机图像的对称性,在一些实施例中,所述多个透视相机相对于所述鱼眼相机图像的中心法线对称分布。例如,当所述多个透视相机图像分别由多个仿真透视相机生成时,调整所述多个仿真透视相机的安装角度,使它们的光轴相对于鱼眼相机图像的中心法线对称设置。其中,在一些实施例中,所述多个透视相机包括中心透视相机,例如,参考图3,该中心透视相机用于提供透视相机图像A,则所述中心法线通过所述中心透视相机的视场的中心,以确保鱼眼相机图像的中心部分(例如图2中的a部分)也是对称的。
在一些实施例中,透视相机图像上的像素在鱼眼相机的成像平面上的对应位置是通过非线性投射关系确定的,该非线性投射关系基于泰勒级数生成。例如,在一个实施例中,透视相机的内部参数为:fx=fy=369.5042,cx=640,cy=360,分辨率1280×720,fov=120度;对应的非线性投射关系根据10级泰勒级数得到,泰勒展开式系数分别为:581.028833,465.467839,38.872200,-16.195694,57.943426,47.935745,-41.550425,-66.723389,-31.058115,-5.118514。其中,泰勒展开式的级数过少,会使生成的鱼眼相机图像难以逼近真实鱼眼相机所拍摄的鱼眼相机图像,而级数过多则会造成计算量太大、处理效率低下。
由于实时生成每一帧鱼眼相机图像都需要计算非常复杂的高维矩阵乘法和泰勒展开式,因此连续生成鱼眼相机图像将耗费大量的系统资源并花费较长的时间。为了减小对系统资源的消耗、提升鱼眼相机图像的生成效率,在根据非线性投射关系确定透视相机图像上的多个像素对应的鱼眼相机图像像素位置后,在透视相机的相关参数不变的情况下,根据透视相机图像上的像素和鱼眼相机图像上的像素之间的映射关系,即可用于生成新的鱼眼相机图像,而不需要对每一帧鱼眼相机图像分别计算复杂的矩阵乘法和泰勒展开式,能够极大地提升算法的速度。
基于以上所述,在一些实施例中,上述设备还包括映射信息确定模块150(未示出)。映射信息确定模块150基于每个像素在透视相机图像上的透视成像坐标,以及该像素的鱼眼成像坐标,确定每个像素的像素映射信息。在一些实施例中,通过遍历所有的透视相机图像上的每个像素的方式,确定透视相机图像上每个像素对应的像素映射关系。
在一些实施例中,上述设备还包括图像更新模块160(未示出)、第一成像坐标确定模块170(未示出)和第一图像生成模块180(未示出)。
其中图像更新模块160更新所述多个透视相机图像,以获取多个待处理的透视相机图像,例如,在透视相机的参数和安装方式不变的前提下,所述多个透视相机各自重新采集新的透视相机图像(例如,这多个透视相机在场景中所处的方位发生了变化,因此采集的透视相机图像也相应发生了变化),作为待处理的透视相机图像,用于生成新的鱼眼相机图像。第一成像坐标确定模块170基于以上所述的多个待处理的透视相机图像,以及以上所述的像素映射关系,确定多个待处理的透视相机图像上的多个像素(或称为第一像素)在鱼眼相机成像平面上所对应的成像坐标(或称为第一鱼眼成像坐标)。第一图像生成模块180基于每个第一像素及其第一鱼眼成像坐标,生成对应的第一鱼眼相机图像。
以上所述的像素映射信息可用于即时地根据透视相机图像生成鱼眼相机图像,并且在透视相机图像更新后更新相应的鱼眼相机图像。在生成新的鱼眼相机图像的过程中,无需计算复杂的高维矩阵乘法和高阶的泰勒展开式,极大地提升了算法的速度,鱼眼相机图像生成操作的实时性好。另外,在获得上述像素映射信息后,就不再需要确定每个像素在空间中所对应的场景坐标,因此深度相机也可取消以节省系统资源。
在一些实施例中,可将上述像素映射信息保存以供之后使用,从而拓展本申请中鱼眼图像生成方法的适用场景,例如,在多个透视相机的参数、安装方式相同的前提下,只需读取该像素映射信息,即可根据相应的透视相机图像生成鱼眼相机图像,而无需重新确定透视相机图像中的像素和鱼眼相机图像中的像素之间的对应关系。相应地,上述设备还包括映射文件生成模块190(未示出)。映射文件生成模块190基于所述像素映射信息生成像素映射文件。其中,在一些实施例中,该像素映射文件为二进制文件。例如,生成的像素映射信息暂时存储于鱼眼图像生成设备的内部存储装置(例如RAM)中,将其整体转存至外部存储装置(例如硬盘)中以得到像素映射文件。由于不需要进行进一步的数据处理,转存像素映射文件不需要耗费过多的系统资源,且鱼眼图像生成设备读取该文件后可直接将数据还原至内部存储装置中,系统投入使用的速度也较快。另外,在不知道数据结构、算法或程序接口的情况下,二进制文件无法被直接使用,因此将像素映射文件保存为二进制文件有助于数据的加密。
根据以上所述,在预先已经确定得到像素映射信息的情况下,如果透视相机的参数和安装方式相匹配,鱼眼图像生成设备根据该像素映射信息,根据该像素映射信息即可生成鱼眼相机图像,而无需重新计算复杂的矩阵乘法和泰勒展开式。进一步地,只需在一台鱼眼图像生成设备上生成上述像素映射信息,即可将该像素映射信息用于其他的鱼眼图像生成设备,从而实现鱼眼相机图像的大批量生成。
据此,根据本申请的另一方面,提供了一种鱼眼图像生成设备。参考图6,该设备包括成像坐标确定模块210和图像生成模块220。成像坐标确定模块210基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标。图像生成模块220基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
而在生成上述像素映射信息的鱼眼图像生成设备将上述像素映射信息保存为像素映射文件后,其他鱼眼图像生成设备即可从该像素映射文件中读取上述像素映射信息。在一些实施例中,上述设备还包括映射信息获取模块205(未示出)。映射信息获取模块205基于像素映射文件,获取多个像素映射信息。随后成像坐标确定模块210基于多个待处理的透视相机图像以及所述像素映射信息,确定所述多个待处理的透视相机图像中的像素的鱼眼成像坐标。
本领域技术人员应能理解,以上基于五个透视相机图像而生成鱼眼相机图像的实施方式仅为举例,而不对本申请进行任何限定。事实上,只要多个透视相机图像满足特定的要求,即可用于生成相应的鱼眼相机图像,例如每个透视相机图像的视场至少与另一个透视相机图像的视场部分重合,并且至少有一个透视相机图像能够提供鱼眼相机图像的视场的中央部分(例如,用于生成图1中所示出的a部分)。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图7示出了可被用于实施本申请中所述的各个实施例的示例性系统。
如图7所示,在一些实施例中,系统300能够作为各所述实施例中的任意一个用于生成鱼眼相机图像的设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (26)
1.一种用于生成鱼眼相机图像的方法,其中,该方法包括:
基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标;
根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标;
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
2.根据权利要求1所述的方法,其中,所述多个透视相机图像中,每个透视相机图像的视场至少与另一个透视相机图像的视场部分重合。
3.根据权利要求1所述的方法,其中,所述基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标,包括:
根据多个透视相机图像中的每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数;
基于每个透视相机图像所对应的透视相机的内部参数以及每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标。
4.根据权利要求3所述的方法,其中,所述方法还包括:
基于多个透视相机中每个透视相机相对于其本体坐标系的外部参数,确定每个透视相机相对于第一坐标系的外部参数;
基于每个透视相机的相对于所述第一坐标系的外部参数,生成多个透视相机图像以及与每个透视相机图像对应的深度相机图像;
所述根据多个透视相机图像中的每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数,包括:
根据每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数。
5.根据权利要求4所述的方法,其中,所述多个透视相机相对于所述鱼眼相机图像的中心法线对称分布。
6.根据权利要求5所述的方法,其中,所述多个透视相机包括中心透视相机,所述中心法线通过所述中心透视相机的视场的中心。
7.根据权利要求1所述的方法,其中,所述像素对应关系基于泰勒级数生成。
8.根据权利要求1所述的方法,其中,所述方法还包括:
基于每个像素在透视相机图像上的透视成像坐标,以及该像素的鱼眼成像坐标,确定每个像素的像素映射信息。
9.根据权利要求8所述的方法,其中,所述方法还包括:
更新所述多个透视相机图像,以获取多个待处理的透视相机图像;
基于所述多个待处理的透视相机图像以及所述像素映射信息,确定所述多个待处理的透视相机图像中的多个第一像素的第一鱼眼成像坐标;
基于每个第一像素及其第一鱼眼成像坐标,生成对应的第一鱼眼相机图像。
10.根据权利要求8所述的方法,其中,所述方法还包括:
基于所述像素映射信息生成像素映射文件。
11.一种用于生成鱼眼相机图像的方法,其中,该方法包括:
基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标;
基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
12.根据权利要求11所述的方法,其中,所述方法还包括:
基于像素映射文件,获取多个像素映射信息;
所述基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标,包括:
基于多个待处理的透视相机图像以及所述像素映射信息,确定所述多个待处理的透视相机图像中的像素的鱼眼成像坐标。
13.一种用于生成鱼眼相机图像的设备,其中,该设备包括:
场景坐标确定模块,用于基于多个透视相机图像以及其中每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标;
成像坐标确定模块,用于根据每个像素对应的场景坐标以及关于所述场景坐标的坐标对应关系,确定每个像素在成像平面上所对应的鱼眼成像坐标;
图像生成模块,用于基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
14.根据权利要求13所述的设备,其中,所述多个透视相机图像中,每个透视相机图像的视场至少与另一个透视相机图像的视场部分重合。
15.根据权利要求13所述的设备,其中,所述场景坐标确定模块包括:
内部参数确定单元,用于根据多个透视相机图像中的每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数;
场景坐标确定单元,用于基于每个透视相机图像所对应的透视相机的内部参数以及每个透视相机图像所对应的深度相机图像,确定所述多个透视相机图像中的多个像素所对应的场景坐标。
16.根据权利要求15所述的设备,其中,所述设备还包括:
外部参数确定模块,用于基于多个透视相机中每个透视相机相对于其本体坐标系的外部参数,确定每个透视相机相对于第一坐标系的外部参数;
第一图像生成模块,用于基于每个透视相机的相对于所述第一坐标系的外部参数,生成多个透视相机图像以及与每个透视相机图像对应的深度相机图像;
所述内部参数确定单元用于:
根据每个透视相机图像的分辨率以及视场角,确定每个透视相机图像所对应的透视相机的内部参数。
17.根据权利要求16所述的设备,其中,所述多个透视相机相对于所述鱼眼相机图像的中心法线对称分布。
18.根据权利要求17所述的设备,其中,所述多个透视相机包括中心透视相机,所述中心法线通过所述中心透视相机的视场的中心。
19.根据权利要求13所述的设备,其中,所述像素对应关系基于泰勒级数生成。
20.根据权利要求13所述的设备,其中,所述设备还包括:
映射信息确定模块,用于基于每个像素在透视相机图像上的透视成像坐标,以及该像素的鱼眼成像坐标,确定每个像素的像素映射信息。
21.根据权利要求20所述的设备,其中,所述设备还包括:
图像更新模块,用于更新所述多个透视相机图像,以获取多个待处理的透视相机图像;
第一成像坐标确定模块,用于基于所述多个待处理的透视相机图像以及所述像素映射信息,确定所述多个待处理的透视相机图像中的多个第一像素的第一鱼眼成像坐标;
第一图像生成模块,用于基于每个第一像素及其第一鱼眼成像坐标,生成对应的第一鱼眼相机图像。
22.根据权利要求20所述的设备,其中,所述设备还包括:
映射文件生成模块,用于基于所述像素映射信息生成像素映射文件。
23.一种用于生成鱼眼相机图像的设备,其中,该设备包括:
成像坐标确定模块,用于基于多个待处理的透视相机图像以及像素映射信息,确定所述多个待处理的透视相机图像中的多个像素的鱼眼成像坐标;
图像生成模块,用于基于每个像素及其鱼眼成像坐标,生成对应的鱼眼相机图像。
24.根据权利要求23所述的设备,其中,所述设备还包括:
映射信息获取模块,用于基于像素映射文件,获取多个像素映射信息;
所述成像坐标确定模块用于:
基于多个待处理的透视相机图像以及所述像素映射信息,确定所述多个待处理的透视相机图像中的像素的鱼眼成像坐标。
25.一种用于生成鱼眼相机图像的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1至12中任一项所述方法的操作。
26.一种包括指令的计算机可读介质,所述指令在被执行时使得系统进行根据权利要求1至12中任一项所述方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811095199.5A CN110930312A (zh) | 2018-09-19 | 2018-09-19 | 一种用于生成鱼眼相机图像的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811095199.5A CN110930312A (zh) | 2018-09-19 | 2018-09-19 | 一种用于生成鱼眼相机图像的方法与设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110930312A true CN110930312A (zh) | 2020-03-27 |
Family
ID=69856004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811095199.5A Pending CN110930312A (zh) | 2018-09-19 | 2018-09-19 | 一种用于生成鱼眼相机图像的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110930312A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112530173A (zh) * | 2020-12-03 | 2021-03-19 | 北京百度网讯科技有限公司 | 路侧感知方法、装置、电子设备、存储介质及路侧设备 |
CN116883231A (zh) * | 2023-09-07 | 2023-10-13 | 深圳魔视智能科技有限公司 | 鱼眼相机的图像数据生成方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102005039A (zh) * | 2010-08-24 | 2011-04-06 | 浙江大学 | 基于泰勒级数模型的鱼眼相机立体视觉深度测量方法 |
CN102881016A (zh) * | 2012-09-19 | 2013-01-16 | 中科院微电子研究所昆山分所 | 基于车联网的车辆周围360°环境重构方法 |
CN103136720A (zh) * | 2013-03-12 | 2013-06-05 | 中科院微电子研究所昆山分所 | 车载360度全景拼接方法 |
CN106327478A (zh) * | 2016-08-31 | 2017-01-11 | 北京的卢深视科技有限公司 | 一种鱼眼全景图像合成处理方法及装置 |
CN106447602A (zh) * | 2016-08-31 | 2017-02-22 | 浙江大华技术股份有限公司 | 一种图像拼接方法及装置 |
CN106651808A (zh) * | 2016-12-29 | 2017-05-10 | 北京爱奇艺科技有限公司 | 一种鱼眼图转换方法及装置 |
CN106856000A (zh) * | 2015-12-09 | 2017-06-16 | 广州汽车集团股份有限公司 | 一种车载全景图像无缝拼接处理方法及系统 |
CN108269235A (zh) * | 2018-02-26 | 2018-07-10 | 江苏裕兰信息科技有限公司 | 一种基于opengl的车载环视多视角全景生成方法 |
CN108389157A (zh) * | 2018-01-11 | 2018-08-10 | 江苏四点灵机器人有限公司 | 一种三维全景图像快速拼接方法 |
-
2018
- 2018-09-19 CN CN201811095199.5A patent/CN110930312A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102005039A (zh) * | 2010-08-24 | 2011-04-06 | 浙江大学 | 基于泰勒级数模型的鱼眼相机立体视觉深度测量方法 |
CN102881016A (zh) * | 2012-09-19 | 2013-01-16 | 中科院微电子研究所昆山分所 | 基于车联网的车辆周围360°环境重构方法 |
CN103136720A (zh) * | 2013-03-12 | 2013-06-05 | 中科院微电子研究所昆山分所 | 车载360度全景拼接方法 |
CN106856000A (zh) * | 2015-12-09 | 2017-06-16 | 广州汽车集团股份有限公司 | 一种车载全景图像无缝拼接处理方法及系统 |
CN106327478A (zh) * | 2016-08-31 | 2017-01-11 | 北京的卢深视科技有限公司 | 一种鱼眼全景图像合成处理方法及装置 |
CN106447602A (zh) * | 2016-08-31 | 2017-02-22 | 浙江大华技术股份有限公司 | 一种图像拼接方法及装置 |
CN106651808A (zh) * | 2016-12-29 | 2017-05-10 | 北京爱奇艺科技有限公司 | 一种鱼眼图转换方法及装置 |
CN108389157A (zh) * | 2018-01-11 | 2018-08-10 | 江苏四点灵机器人有限公司 | 一种三维全景图像快速拼接方法 |
CN108269235A (zh) * | 2018-02-26 | 2018-07-10 | 江苏裕兰信息科技有限公司 | 一种基于opengl的车载环视多视角全景生成方法 |
Non-Patent Citations (3)
Title |
---|
张浩峰 等: ""面向室外自然环境的移动机器人视觉仿真系统"", 《系统仿真学报》, vol. 18, no. 3, 31 March 2006 (2006-03-31), pages 701 - 705 * |
罗四维 等: "《计算机视觉检测逆问题导论》", 31 March 2017, 北京:北京交通大学出版社, pages: 156 - 157 * |
闫龙: "《双目视觉测量系统相关技术研究》", 30 April 2017, 济南:山东大学出版社, pages: 24 - 25 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112530173A (zh) * | 2020-12-03 | 2021-03-19 | 北京百度网讯科技有限公司 | 路侧感知方法、装置、电子设备、存储介质及路侧设备 |
CN116883231A (zh) * | 2023-09-07 | 2023-10-13 | 深圳魔视智能科技有限公司 | 鱼眼相机的图像数据生成方法、装置、设备及存储介质 |
CN116883231B (zh) * | 2023-09-07 | 2024-02-02 | 深圳魔视智能科技有限公司 | 鱼眼相机的图像数据生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7560021B2 (ja) | 深層学習システム | |
CN109214980B (zh) | 一种三维姿态估计方法、装置、设备和计算机存储介质 | |
CN107909612B (zh) | 一种基于3d点云的视觉即时定位与建图的方法与系统 | |
CN109032348B (zh) | 基于增强现实的智能制造方法与设备 | |
US8803880B2 (en) | Image-based lighting simulation for objects | |
CN109191554B (zh) | 一种超分辨图像重建方法、装置、终端和存储介质 | |
US20210272359A1 (en) | Methods, devices, and computer program products for improved mesh generation in constructed 3d images | |
CN111833243B (zh) | 一种数据展示方法、移动终端和存储介质 | |
CN110930312A (zh) | 一种用于生成鱼眼相机图像的方法与设备 | |
US11620777B2 (en) | Editor for images with depth data | |
US20210256293A1 (en) | Two-way descriptor matching on deep learning accelerator | |
CN117372607A (zh) | 一种三维模型的生成方法、装置及电子设备 | |
CN111008934B (zh) | 一种场景构建方法、装置、设备及存储介质 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN109669541B (zh) | 一种用于配置增强现实内容的方法与设备 | |
EP4120200A1 (en) | Method and apparatus for light estimation | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113657245B (zh) | 一种用于人脸活体检测的方法、设备、介质及程序产品 | |
CN113744379B (zh) | 图像生成方法、装置和电子设备 | |
CN111179151A (zh) | 一种提高图形渲染效率的方法、装置及计算机存储介质 | |
CN115760964B (zh) | 一种获取目标对象的屏幕位置信息的方法与设备 | |
CN117745988B (zh) | 一种用于呈现ar标签信息的方法与设备 | |
US20240265626A1 (en) | Image rendering method, apparatus, electronic device and storage medium | |
US12117933B2 (en) | Techniques for supporting large frame buffer apertures with better system compatibility | |
CN115223110B (zh) | 目标检测方法、装置、计算机设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200327 |
|
RJ01 | Rejection of invention patent application after publication |