CN113628276A - 经由深度学习的单图像超广角鱼眼相机校准 - Google Patents
经由深度学习的单图像超广角鱼眼相机校准 Download PDFInfo
- Publication number
- CN113628276A CN113628276A CN202011376699.3A CN202011376699A CN113628276A CN 113628276 A CN113628276 A CN 113628276A CN 202011376699 A CN202011376699 A CN 202011376699A CN 113628276 A CN113628276 A CN 113628276A
- Authority
- CN
- China
- Prior art keywords
- image
- input
- fisheye
- camera model
- layer
- 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 claims abstract description 78
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 52
- 238000010606 normalization Methods 0.000 claims description 46
- 238000011176 pooling Methods 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000012935 Averaging Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 239000000463 material Substances 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- DMSMPAJRVJJAGA-UHFFFAOYSA-N benzo[d]isothiazol-3-one Chemical compound C1=CC=C2C(=O)NSC2=C1 DMSMPAJRVJJAGA-UHFFFAOYSA-N 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/67—Focus control based on electronic image sensor signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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/20112—Image segmentation details
- G06T2207/20132—Image cropping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
- Geometry (AREA)
Abstract
本公开涉及经由深度学习的单图像超广角鱼眼相机校准。讨论了涉及使用单个图像来校准鱼眼相机的技术。此类技术包括:将第一预训练的卷积神经网络应用于输入的鱼眼图像,以生成除主点之外的相机模型参数;以及将第二预训练的卷积神经网络应用于所述鱼眼图像以及所述鱼眼图像与使用所述相机模型参数的所述鱼眼图像的投影的差分,以生成主点。
Description
技术领域
本公开涉及图像领域,具体地涉及经由深度学习的单图像超广角鱼眼相机校准。
背景技术
从超广角鱼眼镜头获得的图像和视频可用于各种环境,包括全景图像制作、虚拟现实内容生成、视频监视系统、自动驾驶解决方案和高级驾驶员辅助系统(ADAS)等。一些当前的鱼眼镜头校准技术依赖于使用诸如棋盘等的校准目标来捕获多个校准图像,以提取图像特征并估计相机参数。尽管此类校准目标技术提供了准确的校准结果,但是它们需要用户使用校准目标在不同的视点获得图像序列,这既耗时又在实践中难以应用,特别是对于业余用户。此外,使用超广角鱼眼镜头获得的图像的自动图像特征提取通常是不准确的,需要用户输入才能更准确地提取特征。自校准方法比校准目标校准方法更方便,但是具有多种限制,包括依赖于图像之间的特征对应关系,这需要捕获的图像序列是高质量的,以便针对大的无纹理区域的图像具有良好的特征对应关系,从而提供不准确的校准结果此外,此类技术在现实世界应用中很难应用。
因此,当前的鱼眼镜头校准技术在易用性和质量方面是不足够的。出于这些和其他考虑,需要当前的改进。随着生成和操纵从超广角鱼眼镜头获得的内容以用于各种环境的期望变得越来越普遍,此类改进可能变得至关重要。
发明内容
本公开的第一方面涉及一种用于鱼眼相机校准的系统,包括:存储器,其被配置为存储输入的鱼眼图像;以及一个或多个处理器,其被耦合到存储器,这一个或多个处理器用于:将第一卷积神经网络应用于包括输入的鱼眼图像的第一输入体积,以生成与用于获得输入的鱼眼图像的鱼眼相机相对应的统一相机模型的焦距、统一相机模型参数和径向变形参数;使用焦距、统一相机模型参数和径向变形参数将输入的鱼眼图像投影到估计的等矩柱状图像;对输入的鱼眼图像与估计的等矩柱状图像进行差分以生成差分图像;将第二卷积神经网络应用于包括输入的鱼眼图像和差分图像的第二输入体积,以生成相机模型的主点;以及输出统一相机模型的焦距、统一相机模型参数、径向变形参数和主点。
本公开的第二方面涉及一种用于鱼眼相机校准的方法,包括:将第一卷积神经网络应用于包括输入的鱼眼图像的第一输入体积,以生成与用于获得输入的鱼眼图像的鱼眼相机相对应的统一相机模型的焦距、统一相机模型参数和径向变形参数;使用焦距、统一相机模型参数和径向变形参数将输入的鱼眼图像投影到估计的等矩柱状图像;对输入的鱼眼图像与估计的等矩柱状图像进行差分以生成差分图像;将第二卷积神经网络应用于包括输入的鱼眼图像和差分图像的第二输入体积,以生成相机模型的主点;以及输出所述统一相机模型的焦距、统一相机模型参数、径向变形参数和主点。
附图说明
在附图中,本文描述的材料是通过示例而非限制的方式示出了的。为了图示的简单和清楚起见,图中示出的元件不一定按比例绘制。例如,为了清楚起见,可以将一些元件的尺寸相对于其他元件放大。此外,在被认为合适的情况下,在多个附图之间重复附图标记来指示相应或类似的元件。在附图中:
图1示出了用于基于接收到的鱼眼图像来生成相机模型参数和重投影的等矩柱状状(equirectangular)图像的示例深度学习系统;
图2示出了示例鱼眼统一相机模型;
图3示出了用于基于鱼眼图像输入体积来生成统一相机模型的焦距、统一相机模型参数和径向变形(distortion)参数的示例子网络;
图4示出了用于基于包括鱼眼图像和鱼眼图像与等矩柱状图像的差分的输入体积来生成统一相机模型的主点的示例子网络;
图5是示出用于训练子网络以生成鱼眼图像的统一相机模型参数的示例过程的流程图;
图6示出了示例输入的鱼眼图像、相应的示例输出的等矩柱状图像以及相应的示例地面实况等矩柱状图像;
图7示出了另一示例输入的鱼眼图像、相应的示例输出的等矩柱状图像和相应的示例地面实况等矩柱状图像;
图8是示出用于使用鱼眼图像来执行鱼眼相机校准和等矩柱状图像生成的示例过程的流程图;
图9是用于使用鱼眼图像来执行鱼眼相机校准和等矩柱状图像生成的示例系统的示意图;
图10是示例系统的示意图;以及
图11示出了全部根据本公开的至少一些实施例布置的示例小形状因数设备。
具体实施方式
现在参考所附附图描述一个或多个实施例或实施方式。虽然讨论了具体的配置和布置,但是应当理解,这样做仅出于说明的目的。相关领域的技术人员将认识到,在不脱离本说明书的精神和范围的情况下,可以采用其他配置和布置。对于相关领域的技术人员将显而易见的是,本文描述的技术和/或布置也可以在除本文描述的之外的各种其他系统和应用中采用。
尽管以下描述阐述了例如可以在诸如片上系统(SoC)架构等架构中体现的各种实施方式,但是本文所述的技术和/或布置的实施方式不限于特定的架构和/或计算系统,并且可以由用于类似目的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或各种计算设备和/或消费电子(CE)设备(例如,多功能设备、平板电脑、智能电话等)可以实现本文描述的技术和/或布置。此外,虽然以下描述可以阐述许多特定细节(例如逻辑实施方式、系统组件的类型和相互关系、逻辑分区/集成选择等),但是可以在没有这些特定细节的情况下实践所要求保护的主题。在其他情况下,例如控制结构和完整的软件指令序列的某种材料可能未被详细示出,以便不使本文所公开的材料模糊。
本文公开的材料可以以硬件、固件、软件或其任何组合来实现。本文公开的材料还可以被实现为存储在机器可读介质上的指令,该指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等。
说明书中对“一个实施方式”、“实施方式”、“示例实施方式”的引用指示所描述的实施方式可以包括特定特征、结构或特性,但是每个实施例可能不一定包括特定特征、结构或特性。此外,此类短语不一定指代同一实施方式。此外,当结合实施例描述特定特征、结构或特性时,认为无论在本文中是否明确描述,本领域技术人员都知道可以结合其他实施方式来实现此类特征、结构或特性。术语“基本上”、“接近”、“近似”、“附近”和“约”通常是指在目标值的+/-10%以内。
本文描述了涉及使用单个鱼眼图像对鱼眼相机进行校准的方法、设备、装置、计算平台和物品,尤其涉及使用深度学习来执行鱼眼相机模型的单个图像校准。
如上所述,在某些环境下,期望对场景的鱼眼图像执行鱼眼镜头校准。值得注意的是,来自校准的相机模型参数可以用于多种应用,包括将鱼眼图像投影到等矩柱状图像。得到的等矩柱状图像可以用于各种环境,例如全景图像制作、虚拟现实内容生成、视频监视系统、自动驾驶解决方案、高级驾驶员辅助系统(ADAS)等。因此,非常需要基于捕获的鱼眼图像的高质量的相机模型参数和等矩柱状图像。
在一些实施例中,从例如鱼眼相机系统的鱼眼图像源获得鱼眼图像。如本文所使用的,术语鱼眼图像表示基于场景的鱼眼视图捕获的或生成的图像(例如,使用或对应于视场不小于120度且理想地不小于180度的鱼眼镜头)。例如,如果视场小于或等于180度,则本文讨论的技术保留鱼眼图像的内容,并且如果视场大于180度,则可以将内容裁剪为180度。鱼眼图像可以是任何合适的格式或投影格式。术语等矩柱状图像表示从鱼眼图像到等矩柱状图像平面上的投影,并且等矩柱状图像也可以是任何合适的格式。值得注意的是,鱼眼图像对应于用于获得鱼眼图像的鱼眼相机。
用于获得鱼眼图像的鱼眼相机系统可以使用具有焦距、统一相机模型参数、一个或多个径向变形参数和主点的统一相机模型来建模。此类参数定义了统一相机模型,并且该模型参数可以用于在图像平面上的像素与3D空间中的位置之间进行映射以及在其他应用中进行映射,例如将鱼眼图像投影到等矩柱状图像等。例如,一旦相机模型被定义和参数化,它就可以用于各种图像处理应用、图像评估应用和图像特征映射应用等。
在一些实施例中,将接收到的鱼眼图像裁剪为适合于预训练的深度学习网络的形状和/或从接收到的鱼眼图像中去除渐晕伪影(vignetting artifacts)。然后,将得到的输入的鱼眼图像提供作为输入体积(例如,估计统一相机模型的焦距、统一相机模型参数和一个或多个径向变形参数的第一预训练子网络的体积)。值得注意的是,第一预训练子网络不估计统一相机模型的主点。在一些实施例中,第一预训练子网络是具有跳跃连接(skipconnection)和采用Sigmoid单元的最终部分和全局平均池化的密集卷积神经网络,如本文进一步讨论的。然后使用焦距、统一相机模型参数和一个或多个径向变形参数将输入的鱼眼图像投影到等矩柱状图像。将输入的鱼眼图像和等矩柱状图像进行差分以生成差分图像。
然后,将输入的鱼眼图像和差分图像进行级联,以生成提供给第二预训练子网络的第二输入体积。第二预训练子网络生成统一相机模型的主点。在一些实施例中,第二预训练子网络是编码器-解码器卷积神经网络,其具有采用Sigmoid单元的最终部分和全局平均池化,如本文进一步讨论的。值得注意的是,已经发现,将焦距、统一相机模型参数和一个或多个径向变形参数的生成与不同类型和具有不同输入层的子网络之间的主点的生成分开,以使用单个鱼眼图像来提高统一相机模型参数准确性。
得到的统一相机模型参数(例如,焦距、统一相机模型参数、径向变形参数和主点)可以被输出用于各种环境,以及应用于接收到的鱼眼图像(例如,在执行裁剪和/或调整尺寸操作之前的鱼眼图像),以生成与接收到的鱼眼图像相对应的等矩柱状图像。已经发现,与校准目标技术相比,使用此类技术得到的统一相机模型参数和等矩柱状图像是足够的,同时由于校准基于获得的图像而无需单独的校准例程,因此提供改进的易用性。
由此,所讨论的技术提供了基于深度学习的全卷积单鱼眼图像校准和重投影神经网络,其确定具有超广角鱼眼镜头的相机的完整的固有的统一相机模型参数集(例如,主点、广义焦距、统一相机模型的特征参数、径向变形参数),并将单个鱼眼图像重投影到等矩柱状图像以保留大视场。本文讨论的单个图像鱼眼校准网络可以获得任何圆形鱼眼图像作为校准的输入,并将鱼眼内容重投影到与使用校准目标技术生成的地面实况结果相比具有结构相似性的等矩柱状平面。
图1示出了根据本公开的至少一些实施方式布置的用于基于接收到的鱼眼图像来生成相机模型参数和重投影的等矩柱状图像的示例深度学习系统100。如图1所示,系统100包括图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108。如图所示,深度学习系统100包括两个子网络:子网络102和子网络107,子网络102用于基于包括鱼眼输入图像122的输入体积来生成共同表征为统一相机模型参数的焦距(FL)、统一相机模型参数(CMP)和径向变形参数(RDP)123,子网络107用于基于包括鱼眼输入图像122和差分图像126的输入体积来生成主点(PP)128。值得注意的是,主点128也是统一相机模型参数,因此焦距、统一相机模型参数和径向变形参数123可以被表征为统一相机模型参数的子集和统一相机模型参数的一部分等。
深度学习系统100获得场景的鱼眼图像121,并最终生成统一相机模型参数集和/或最终等矩柱状图像129。在实施例中,系统100的鱼眼相机(未示出)捕获场景的鱼眼图像,以提供鱼眼图像121。在一些实施例中,从存储器、另一设备等获得鱼眼图像121。系统100可以在任何合适的形状因数设备中实现,例如个人计算机、膝上型计算机、平板电脑、平板手机、智能电话、数字相机、游戏机、可穿戴设备、显示设备和虚拟现实头戴式耳机等。
如图所示,鱼眼图像121由图像裁剪模块101接收,该图像裁剪模块101可选地将鱼眼图像121裁剪为具有系统100的其他组件所期望的形状的鱼眼输入图像122。例如,可以在特性形状的鱼眼图像上训练子网络102、107,并且图像裁剪模块101可以将鱼眼图像121裁剪为特定尺寸。在一些实施例中,鱼眼图像121被裁剪成方形鱼眼输入图像122。例如,具有任意分辨率的原始捕获的鱼眼输入图像121通常包括渐晕伪影,并且裁剪可以去除所有的(一个或多个)渐晕区域,并提供得到的方形鱼眼输入图像122,以供系统100的其他组件使用。可替换地,可以以系统100的组件所需的特定形状来接收鱼眼图像121。在一些实施例中,虽然可以使用任何图像,但是鱼眼输入图像122是方形图像。
鱼眼输入图像122为子网络102提供输入体积。在一些实施例中,输入体积是鱼眼输入图像122的三个颜色通道的尺寸(分辨率)。因此,鱼眼输入图像122可以提供子网络102的3xHxW的输入体积或输入层,其可以由HxW特征(或像素)表征为三个特征图(或图像)。在一些实施例中,H=W并且输入图像122是方形图像,虽然可以使用任何形状。如所讨论的,在一些实施例中,子网络102采用跳跃连接(skip connection),并且将鱼眼输入图像122提供给子网络102的输入层以及子网络102的任何数量(或全部)卷积层。
在讨论深度学习系统100的子网络102和其他组件之前,讨论转向由焦距、统一相机模型参数和径向变形参数123以及主点128表征的相机模型。
图2示出了根据本公开的至少一些实施方式布置的示例鱼眼统一相机模型200。如图2所示,统一相机模型200使用焦距(包括在相机固有矩阵(K)204中)、统一相机模型参数(CMP,ξ)205、径向变形参数(包括在变形模型(D)211中)和主点(包括在相机固有矩阵(K)204中)提供从任何世界点(例如世界点(PW)201)到图像平面(IP)203上相应的投影点(例如投影点(p)202)的投影。
例如,鱼眼统一相机模型200将3D点投影到图像平面203。本文讨论的技术使用系统100估计并生成完整的相机固有参数集,包括鱼眼统一相机模型200的焦距、统一相机模型参数、径向变形参数和主点。在鱼眼统一相机模型200的环境中,可以将任何世界点(例如世界点(PW)201)投影到具有单位球心(Cm)207的单位球体(unit sphere)上,根据以下方程(1),在单位球体点(PS)206处,该单位球心相对于图像平面(IP)203和归一化平面(IP)208居中:
其中,PW是世界点(具有坐标XW,YW,ZW),并且PS(具有坐标XS,YS,Zs)是其在单位球体上的投影。
然后,基于统一相机模型参数(CMP,ξ)205将单位球体点(PS)206改变为新的参考坐标系(reference frame),该统一相机模型参数(CMP,ξ)205可以被表征为参考坐标系偏移、参考坐标系参数、参考坐标系差分等,并提供鱼眼镜头统一相机模型200中的参考坐标系改变或转换,根据方程(2),该鱼眼镜头统一相机模型200基于单位球体转换(Cp)209将单位球体点(PS)206转换到投影点(PP)(未示出):
其中,Cp基于统一相机模型参数(CMP,ξ)205提供参考坐标系的改变或转换,而PP是单位球体点(PS)206(具有坐标XS,YS,Zs+ξ)的转换。
然后,根据方程(3),在归一化平面投影点(m)210处将投影点(PP)投影到归一化平面(IP)208上:
其中,m是归一化平面投影点。
最后,根据方程(4),使用相机固有矩阵(K)204(或相机投影矩阵)和变形模型(D)211,将归一化平面投影点(m)210投影到图像平面(IP)203上的投影点(p)202:
其中,p是世界点PW在图像平面(IP)上的投影点,K是包括焦距f和主点(u,v)的相机固有矩阵或相机投影矩阵,并且D使用径向变形参数k1,k2,k3并基于ρ(距图像中心的距离的函数)来应用径向变形。
由此,鱼眼统一相机模型200提供世界点与图像平面上的点之间的投影模型。包括焦距(f)、统一相机模型参数(ξ)、径向变形参数(k1,k2,k3)和主点(u,v)的完整的特征参数集定义了投影模型(使用相机投影矩阵来实现焦距和主点)。此类参数还可用于操纵鱼眼图像,包括投影到等矩柱状图像等。
返回图1,如所讨论的,鱼眼输入图像122为子网络102提供输入体积,该子网络102被预训练以将鱼眼输入图像122转换为焦距、统一相机模型参数和径向变形参数123,如关于图2所讨论的。子网络102可以包括具有任何数量的卷积层和相关层的任何合适的卷积神经网络(CNN)。如本文所使用的,术语CNN表示预训练的深度学习神经网络,其包括输入层、多个隐藏层和输出层,使得隐藏层包括一个或多个卷积层,每个卷积层至少包括卷积层(并且可选地包括例如泄漏RELU层、池化或求和层和/或归一化层)。
子网络102被预训练以输出焦距、统一相机模型参数和径向变形参数123,如下面进一步讨论的。如图所示,焦距、统一相机模型参数和径向变形参数123可以经由归一化模块103进行归一化,以提供特定范围内的焦距、统一相机模型参数和径向变形参数124。在一些实施例中,可以不采用由归一化模块103执行的此类归一化操作,并且子网络102可以输出归一化参数。
图3示出了根据本公开的至少一些实施方式布置的用于基于鱼眼图像输入体积来生成统一相机模型的焦距、统一相机模型参数和径向变形参数的示例子网络102。如图3所示,子网络102可以包括具有跳跃连接的密集网络301,最终卷积(conv)层、批归一化(norm)和Sigmoid单元302以及全局平均池化层303。
如关于图1所讨论的,子网络102接收鱼眼输入图像122。子网络102的第一部分,即具有跳跃连接的密集网络301应用一系列子单元,每个子单元包括:卷积层、卷积层之后的批归一化层以及批归一化层之后的泄漏修正线性单元(泄漏ReLU)。卷积层应用任意数量的卷积核以生成任意数量的特征图,并对特征图应用批归一化和泄漏ReLU。得到的特征图与鱼眼输入图像122以及来自任何先前子单元的特征图一起被馈送到下一子单元。也就是说,每个子单元接收鱼眼图像122和来自所有先前子单元的特征图,使得提供跳跃连接。在一些实施例中,通过级联鱼眼输入图像122和可用特征图来提供跳跃连接。
如图所示,在具有跳跃连接的密集网络301之后,提供了最终卷积层、批归一化和Sigmoid单元302,并且其包括最终卷积层,接着是批归一化层,接着是Sigmoid单元。最终卷积层、批归一化和Sigmoid单元302的输入可以仅包括来自具有跳跃连接的密集网络301的最后子单元的输出特征图或与来自具有跳跃连接的密集网络301的所有子单元的输出级联的鱼眼输入图像122。值得注意的是,具有跳跃连接的密集网络301的子单元的泄漏ReLU层被Sigmoid单元代替,该Sigmoid单元应用Sigmoid函数来生成特征图321。在一些实施例中,特征图321可以具有被限制在[0,1]范围内的值,并且如关于归一化模块103所讨论的归一化将得到的参数值(例如,焦距、统一相机模型参数和径向变形参数)归一化到其适当范围。
在一些实施例中,特征图321包括用于每个最终输出参数的一个特征图。在一些实施例中,特征图321包括五个特征图,每个特征图用于焦距(FL)、统一相机模型参数(CMP)和三个径向变形参数(RDP:k1,k2,k3)。全局平均池化层303接收特征图321,并对每个特征图内的值进行平均以生成相应的输出参数。例如,对焦距特征图的值进行平均以生成输出焦距,对统一相机模型参数特征图的值进行平均以生成输出的统一相机模型参数等。因此,在一些实施例中,子网络102是卷积神经网络,其包括最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出针对焦距、统一相机模型参数和径向变形参数中的每一者个的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成焦距、统一相机模型参数和径向变形参数。此外,在最终卷积层之前,在子网络102中提供了多个密集网络子单元,每个密集网络子单元用于接收鱼眼输入图像122(例如,输入体积)与来自先前密集网络子单元的所有特征图的级联。
返回图1,如图所示,焦距、统一相机模型参数和径向变形参数124以及鱼眼输入图像122被提供给投影模块104,该投影模块104使用焦距、统一相机模型参数和径向变形参数124以将鱼眼输入图像122投影(或重投影)到估计的等矩柱状图像125。投影模块104使用本领域中已知的技术,基于焦距、统一相机模型参数和径向变形参数124将鱼眼输入图像122投影到估计的等矩柱状图像125。在一些实施例中,投影使用鱼眼输入图像122的图像中心点作为投影中的主点(因为子网络102不提供估计的主点)。
得到的估计的等矩柱状图像125和鱼眼输入图像122被提供给差分器105,该差分器105对得到的估计的等矩柱状图像125与鱼眼输入图像122进行差分以生成差分图像126。例如,差分器105可以提供等矩柱状图像125与鱼眼输入图像122之间的颜色通道值的逐像素(pixel-wise)的差分,使得差分图像126包括三个颜色平面,每个颜色平面包括逐像素的差分值。值得注意的是,虽然等矩柱状图像125和鱼眼输入图像122具有非常不同的内容并且在很大程度上不匹配,但是由于目的是估计作为有效内容区域的中心点的主点128,因此当有效内容本身的形状仅表示期望的主点时,整体内容并不重要。
差分图像126和鱼眼输入图像122被提供给级联器106,该级联器106将差分图像126与鱼眼输入图像122级联,以生成输入体积127,该输入体积127包括与差分图像126和鱼眼输入图像122的每个颜色通道相对应的特征图(或图像),使得每个特征图包括差分图像126和鱼眼输入图像122的分辨率下的特征值(像素值或像素差分值)。在一些实施例中,虽然可以采用任何数量的特征图(例如,如果仅使用亮度值,则为2个),但输入体积127包括六个特征图(或图像),每个特征图(或图像)具有输入分辨率。在一些实施例中,输入体积127包括鱼眼输入图像122的三个颜色通道与差分图像126的三个颜色通道的级联。
子网络107接收输入体积127,并基于其预训练生成主点128。在一些实施例中,可以将焦距、统一相机模型参数和径向变形参数124以及主点128作为来自系统100的输出而提供。此类参数以及鱼眼图像121可以在多种环境下使用。然而,应注意,提供最终等矩柱状图像129对于系统100可能是有利的,如下面进一步讨论的。
子网络107可以包括任何合适的卷积神经网络(CNN),其具有任何数量的卷积层和相关层。子网络107被预训练以输出统一相机模型的主点128,如关于图2所讨论的。
图4示出了根据本公开的至少一些实施方式的用于基于包括鱼眼图像以及鱼眼图像与等矩柱状图像的差分的输入体积来生成统一相机模型的主点的示例子网络107。如图4所示,子网络107可以包括编码器-解码器网络401,最终卷积(conv)层、批归一化(norm)和Sigmoid单元402以及全局平均池化层403。
子网络107接收输入体积127,如关于图1所讨论的。子网络107的编码器-解码器网络401接收输入体积127,并将编码器-解码器CNN架构应用于输入体积127,以生成输出特征图(未示出)。例如,编码器-解码器网络401的编码器部分可以从输入体积127中提取不同分辨率的特征,其中有效接收场(例如,与连续卷积层的数量成比例)随着分辨率的降低而降低,并且编码器-解码器网络401的解码器部分可以使用来自编码器部分中相应层的跳跃连接来组合提取的特征,以向输入体积127的每个位置的主点的估计移动。
如图所示,在编码器-解码器网络401之后,提供了最终卷积层、批归一化和Sigmoid单元402,并且其包括最终卷积层,接着是批归一化层,接着是Sigmoid单元,类似于如上所述的最终卷积层、批归一化和Sigmoid单元302。最终卷积层、批归一化和Sigmoid单元402接收来自编码器-解码器网络401的特征图并生成特征图421。特征图421针对主点(u,v)的两个轴各包括一个特征图。全局平均池化层403接收特征图421,并对每个特征图内的值进行平均以生成主点128。因此,在一些实施例中,子网络107采用卷积神经网络,其具有最终卷积层、接着是批归一化层、接着是Sigmoid单元层,用于输出主点的每个分量的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成主点。此外,子网络107可以在最终卷积层之前包括多个编码器卷积神经网络层,接着是多个解码器卷积神经网络层。
返回图1,焦距、统一相机模型参数、径向变形参数124和主点128以及鱼眼图像121被提供给投影模块108,该投影模块108使用焦距、统一相机模型参数和径向变形参数124以及主点128以将鱼眼图像121(或鱼眼输入图像122)投影(或重投影)到最终等矩柱状图像129。投影模块108使用本领域中已知的技术,基于焦距、统一相机模型参数和径向变形参数124以及主点128将鱼眼图像121投影到最终等矩柱状图像129。
由此,系统100确定完整的相机参数集(例如,统一相机模型参数),包括主点(u,v)、广义焦距f、统一相机模型的特征参数ξ和变形参数k1,k2,k3。此类参数估计(例如,7个统一相机模型参数的估计)可以经由被实现为多任务训练器的神经网络工作来提供,该多任务训练器实现了包括两个子网络102、107的堆叠架构。如所讨论的,子网络102估计f,ξ和k1,k2,k3,并且子网络107估计(u,v)。此类技术有利地将统一相机模型参数分成两个集合,用于基于深度学习的估计。例如,参数f,ξ和k1,k2,k3完全是鱼眼到等矩柱状映射,而(u,v)表示映射结果的位置。如所讨论的,首先使用鱼眼图像一起估计f,ξ和k1,k2,k,然后使用主点的估计作为图像中心点以将鱼眼图像弯曲成估计的等矩柱状图像。然后,子网络107使用鱼眼图像和作为鱼眼图像与估计的等矩柱状图像的差分的差分图像的级联作为子网络107的输入来估计实际的主点。如所讨论的,虽然等矩柱状图像和鱼眼图像具有非常不同的内容,但是在估计作为有效内容区域的中心点的真实主点时,因此当有效内容本身的形状仅表示实际的主点时,整体内容并不重要。
图5是示出根据本公开的至少一些实施方式布置的用于训练子网络102、107以生成鱼眼图像的统一相机模型参数的示例过程500的流程图。过程500可以包括如图5所示的一个或多个操作501-505。过程500可以由本文讨论的任何设备或系统执行,以训练本文讨论的任何CNN(子网络)。可以针对任何训练、训练集等重复过程500或其部分。由过程500生成的参数权重可以被存储到存储器并经由处理器来实现,以例如实现本文所讨论的子网络102、107。
过程500开始于操作501,在操作501处,获得等矩柱状图像的训练语料库。例如,训练语料库可以包括多个图像,使得每个图像是从鱼眼图像投影的等矩柱状图像。值得注意的是,用于生成等矩柱状图像的鱼眼图像可能不可用且不需要。训练语料库可以包括任意数量的图像,例如数万个图像或数十万个图像。在一些实施例中,虽然可以使用任何合适的训练条件,但是使用Adam优化器以0.001的学习速率和32的块尺寸在超过300,000个图像的数据集上训练子网络102、107。在一些实施例中,训练语料库是使用(一个或多个)鱼眼相机捕获的360个全景图像的集合,其从360x180全景图像中被随机裁剪为180x180视场内容块。
处理在操作502处继续,在操作502处,使用逆相机模型(例如,如投影模块104、108所采用的用于从鱼眼图像投影到等矩柱状图像的模型的逆模型)将在操作501处获得的每个等矩柱状图像从等矩柱状图像投影到鱼眼图像。在这种投影或弯曲处理期间,使用不同的相机参数来获得各种鱼眼图像。也就是说,由于相机参数是未知的,因此使用各种此类参数来从等矩柱状图像投影到鱼眼图像。在一些实施例中,在整个训练语料库图像上,参数是不同的。
在一些实施例中,如下执行在操作502处从鱼眼图像投影到等矩柱状图像的逆相机模型。首先,将等矩柱状图像平面上的2D图像点p=(x,y)投影到如方程(5)所示的归一化图像平面上:
其中(x,y)是等矩柱状图像平面上的图像点,(x',y')是归一化图像平面上的图像点,(u,y)是主点,并且f是焦距。值得注意的是,如上所述选择主点和焦距。
接下来,应用逆径向变形模型以使用如方程(6)所示的迭代方法来去除径向变形:
其中,迭代地执行操作(a)、(b)、(c)以获得径向变形参数k1,k2,k3,然后依次使用这些参数来应用径向变形模型,以去除归一化图像平面中的径向变形,其中(x',y')是归一化图像平面上的得到的图像点。
然后,在去除径向变形之后,通过如方程(7)所示的逆统一相机模型将归一化图像平面上的图像重投影到球体上的点:
其中,(x',y')是归一化图像平面上的图像点,ξ是统一相机模型,并且f-1是到球体表面上的重投影。
然后,使用球体投影模型将球体表面上的点投影到鱼眼图像。由此,提供了等矩柱状和鱼眼图像对,使得在调整尺寸之后,鱼眼图像提供训练输入,以使用相应的等矩柱状图像作为地面实况(ground truth)来训练子网络102、107。
处理在操作503处继续,在操作503处,根据需要裁剪在操作502处生成的鱼眼图像,以提供输入体积。鱼眼图像可以被裁剪为任何合适的形状,例如方形图像,如关于图1所讨论的。由此,每个裁剪的鱼眼图像可以提供3xHxW输入体积(例如,在一些实施例中,三个颜色通道乘以HxW像素,其中H=W)。在一些实施例中,为了增加训练集,将鱼眼图像和等矩柱状图像水平地和/或垂直地随机翻转。
处理在操作504处继续,在操作504处,使用输入的鱼眼图像和等矩柱状图像作为地面实况来训练子网络102、107。例如,可以执行关于图1所讨论的操作(包括生成最终等矩柱状图像),然后将得到的最终等矩柱状图像与地面实况等矩柱状图像进行比较,以生成误差或损失,其可以通过子网络102、107反向传播以更新子网络102、107的参数(例如,滤波器权重和其他参数)。在实施例中,用于训练的目标函数是Charbonnier损失(例如,L1损失的变型)和图像梯度L1损失之和,其使用Adam优化器以0.001的学习速率来优化。但是,可以使用任何合适的训练条件。
处理在操作505处继续,在操作505处,输出子网络102、107的得到的参数权重。例如,训练的参数权重以及定义子网络102、107的预定义架构的参数可以被存储到存储器和/或被发送到另一设备,用于如本文所讨论的实现。
图6示出了根据本公开的至少一些实施方式布置的示例输入的鱼眼图像601、相应的示例输出的等矩柱状图像602和相应的示例地面实况等距柱状图像603。如图6所示,针对物体距相机相对较远的室外环境,获得输入的鱼眼图像601(具有显著变形)。使用本文中讨论的技术,生成输出的等矩柱状图像602,其与使用校准目标校准方法生成的地面实况等矩柱状图像603相比具有优势。
图7示出了根据本公开的至少一些实施方式布置的另一示例输入的鱼眼图像701、相应的示例输出的等矩柱状图像702和相应的示例地面实况等矩柱状图像703。如图7所示,针对物体位于距相机的各种距离处的室内场景,获得输入的鱼眼图像701(同样具有显著的变形)。使用本文讨论的技术,生成输出的等矩柱状图像702,其与也是使用校准目标校准方法生成的地面实况等矩柱状图像703相比具有优势。与图6和图7中获得的结果相似的结果可以被提供用于各种场景。定量地,使用本文讨论的技术获得的等矩柱状图像相对于地面实况等矩柱状图像获得0.73或更大的结构相似性指数(SSIM)。
图8是示出根据本公开的至少一些实施方式布置的用于使用鱼眼图像执行鱼眼相机校准和等矩柱状图像的生成的示例过程800的流程图。过程800可以包括如图8所示的一个或多个操作801-805。通过非限制性示例,过程800可以形成由系统900执行的用于鱼眼图像的关键点检测和匹配过程的至少一部分,如本文所讨论的。此外,本文将参考图9的系统900来描述过程800。
图9是根据本公开的至少一些实施方式布置的用于使用鱼眼图像执行鱼眼相机校准和等矩柱状图像的生成的示例系统900的示意图。如图9所示,系统900包括中央处理器901、图像处理器902和存储器903。同样如图所示,中央处理器901可以包括或实现图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108。图9中的这些模块的分组(例如,组合投影模块104、108)是示例实施例的说明,但并不意味着是限制的。
此类组件或模块可以被实现为执行本文所讨论的操作。存储器903可以存储鱼眼图像、等矩柱状图像、CNN参数和权重、统一相机模型参数、差分图像数据或本文讨论的任何其他数据。如图所示,在一些示例中,图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108经由中央处理器901来实现。在其他示例中,图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108中的一个或多个或部分经由图像处理器901、视频处理器和图形处理器等来实现。在其他示例中,图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108中的一个或多个或部分经由图像或视频处理流水线或单元来实现。
图像处理器902可以包括可以提供如本文所讨论的操作的任何数量和类型的图形、图像或视频处理单元。在一些示例中,图像处理器902可以是图像信号处理器。此类操作可以经由软件或硬件或其组合来实现。例如,图像处理器902可以包括专用于处理从存储器903获得的图像数据或视频数据的电路。中央处理器901可以包括任何数量和类型的处理单元或模块,其可以为系统900提供控制和其他高级功能和/或提供本文所讨论的任何操作。存储器903可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性示例中,存储器903可以由缓存存储器实现。
在实施例中,图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108中的一个或多个或部分经由图像处理器902的执行单元(EU)来实现。EU可以包括例如可编程逻辑或电路,例如可以提供广泛的可编程逻辑功能的一个或多个逻辑核心。在实施例中,图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108中的一个或多个或部分经由专用硬件(诸如固定功能电路等)实现。固定功能电路可以包括专用逻辑或电路,并且可以提供可以映射到用于固定目的或功能的专用逻辑的一组固定功能入口点。在一些实施例中,图像裁剪模块101、子网络102、归一化模块103、投影模块104、差分器105、级联器106、子网络107和投影模块108中的一个或多个或部分经由专用集成电路(ASIC)来实现。ASIC可以包括被定制为执行本文所讨论的操作的集成电路。
返回到图8的讨论,过程800在操作801处开始,在操作801处,将第一卷积神经网络应用于包括输入的鱼眼图像的第一输入体积,以生成与用于获得输入的鱼眼图像的鱼眼相机相对应的统一相机模型的焦距、统一相机模型参数和径向变形参数。例如,可以使用鱼眼相机(例如,具有鱼眼镜头的相机)获得鱼眼图像,并且可以对鱼眼图像进行裁剪和缩小尺寸,以提供输入的鱼眼图像。输入的鱼眼图像可以构成第一输入体积的全部,其可以包括三个输入帧,每个输入帧用于输入的鱼眼图像的每个颜色通道。
第一卷积神经网络可以是任何合适的卷积神经网络。在一些实施例中,第一卷积神经网络包括多个密集神经网络子单元(每个密集神经网络子单元具有卷积层、批归一化层和泄漏ReLU层),随后是最终卷积层、批归一化层和Sigmoid单元层,随后是全局平均池化层。在一些实施例中,第一卷积神经网络包括最终卷积层,随后是批归一化层,随后是Sigmoid单元层,用于输出针对焦距、统一相机模型参数、径向变形参数中的每一者的特征图,以及全局平均池化层,用于平均每个特征图以生成焦距、统一相机模型参数和径向变形参数。在一些实施例中,第一卷积神经网络在最终卷积层之前包括多个密集网络子单元,每个密集网络子单元接收第一输入体积和来自先前密集网络子单元的所有特征图的级联。在一些实施例中,密集网络子单元的第一密集网络子单元包括第一卷积层,随后是第一批归一化层,随后是第一修正线性单元层。
处理在操作802处继续,在操作802处,使用焦距、统一相机模型参数和径向变形参数将输入的鱼眼图像投影到估计的等矩柱状图像。可以使用任何合适的一种或多种技术将输入的鱼眼图像投影到估计的等矩柱状图像。在实施例中,使用焦距、统一相机模型参数、径向变形参数和作为投影模型的主点的图像中心,将输入的鱼眼图像投影到估计的等矩柱状图像。
处理在操作803处继续,在操作803处,对输入的鱼眼图像和估计的等矩柱状图像进行差分,以生成差分图像。输入的鱼眼图像和估计的等矩柱状图像可以使用任何合适的一种或多种技术进行差分。在一些实施例中,输入的鱼眼图像和估计的等矩柱状图像以逐像素和颜色通道方式进行差分。例如,差分图像可以包括每个像素的三个像素差分值(红色通道、绿色通道和蓝色通道中的每一个都有一个像素差分值),针对像素和颜色通道,该三个像素差分值是输入的鱼眼图像的值与估计的等矩柱状图像的值之间的差分。
处理在操作804处继续,在操作804处,将第二卷积神经网络应用于包括输入的鱼眼图像和差分图像的第二输入体积,以生成相机模型的主点。在一些实施例中,统一相机模型包括焦距、统一相机模型参数、径向变形参数(例如,三个径向变形参数)和主点。在一些实施例中,统一相机模型参数是统一相机模型的参考坐标系偏移,并且统一相机模型的相机投影矩阵包括并实现焦距和主点。在一些实施例中,第二输入体积是输入的鱼眼图像的三个颜色通道与差分图像的三个颜色通道的级联。
第二卷积神经网络可以是任何合适的卷积神经网络。在一些实施例中,第二卷积神经网络包括编码器-解码器神经网络,随后是最终卷积层、批归一化层和Sigmoid单元层,Sigmoid单元层随后是全局平均池化层。在一些实施例中,第二卷积神经网络包括最终卷积层,随后是批归一化层,随后是Sigmoid单元层,用于输出主点的每个分量的特征图,以及全局平均池化层,用于平均每个特征图以生成主点。在一些实施例中,第二卷积神经网络在最终卷积层之前包括多个编码器卷积神经网络层,随后是多个解码器卷积神经网络层。
处理在操作805处继续,在操作805处,输出统一相机模型的焦距、统一相机模型参数、径向变形参数和主点和/或将输入的鱼眼图像或与输入的鱼眼图像相对应的第二输入的鱼眼图像投影到最终等矩柱状图像,其被输出到存储器。在一些实施例中,最终等矩柱状图像基于第二输入的鱼眼图像。例如,第二输入的鱼眼图像可以是全分辨率图像,被裁剪以生成输入的鱼眼图像,使得最终等矩柱状图像基于第二输入的鱼眼图像,并且从第二输入的鱼眼图像中裁剪出输入的鱼眼图像。
本文描述的系统的各种组件可以以软件、固件和/或硬件和/或其任何组合来实现。例如,本文所讨论的设备或系统的各种组件可以至少部分地由诸如可以在多功能设备或计算系统(例如,膝上型计算机、平板电脑或智能电话)中找到的计算片上系统(SoC)的硬件来提供。本领域技术人员可以认识到,本文所述的系统可以包括在相应附图中未示出的附加组件。例如,本文所讨论的系统可以包括为了清楚起见未描述的附加组件(例如图像预处理电路、存储器控制器等)。
虽然本文讨论的示例过程的实施方式可以包括以所示顺序示出的所有操作的执行,但是本公开不限于此,并且在各种示例中,本文示例过程的实施方式可以仅包括所示操作的子集、以与所示顺序不同的顺序执行的操作或附加操作。
另外,可以响应于由一个或多个计算机程序产品提供的指令来执行本文讨论的任何一个或多个操作。此类程序产品可以包括提供指令的信号承载介质,该指令在由例如处理器执行时可以提供本文所述的功能。计算机程序产品可以以一种或多种机器可读介质的任何形式来提供。因此,例如,包括一个或多个图形处理单元或一个或多个处理器核的处理器可以响应于由一种或多种机器可读介质传送到处理器的程序代码和/或指令或指令集来执行本文示例过程的一个或多个框。通常,机器可读介质可以以程序代码和/或指令或指令集的形式来传送软件,该程序代码和/或指令或指令集可以使本文描述的任何设备和/或系统实现本文讨论的任何操作或本文所讨论的任何其他模块或部件。
如本文所描述的任何实施方式中所使用的,术语“模块”是指被配置为提供本文所描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。该软件可以体现为软件包、代码和/或指令集或指令,并且在本文所述的任何实施方式中使用的“硬件”可以例如单独地或以任意组合包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储由可编程电路执行的指令的固件。模块可以共同地或单独地体现为形成较大系统的一部分的电路,例如,集成电路(IC)和片上系统(SoC)等。
图10是根据本公开的至少一些实施方式布置的示例系统1000的示意图。在各种实施方式中,系统1000可以是计算系统,虽然系统1000不限于该环境。例如,系统1000可以被并入个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板电脑或智能电视)、可穿戴设备(例如,智能手表或智能眼镜)、移动互联网设备(MID)、消息收发设备、数据通信装置、外围设备、扫描仪、打印机和多功能设备等。
在各种实施方式中,系统1000包括耦合至显示器1020的平台1002。平台1002可以从诸如(一个或多个)内容服务设备1030或(一个或多个)内容传递设备1040的内容设备接收内容。包括一个或多个导航特征的导航控制器1050可以用于与例如平台1002和/或显示器1020交互。下面更详细地描述这些组件的每个。
在各种实施方式中,平台1002可以包括芯片组1005、处理器1010、存储器1012、天线1013、存储装置1014、图形子系统1015、应用1016、图像信号处理器1017和/或无线电装置1018的任意组合。芯片组1005可以提供处理器1010、存储器1012、存储装置1014、图形子系统1015、应用1016、图像信号处理器1017和/或无线电装置1018之间的相互通信。例如,芯片组1005可以包括能够提供与存储器1014的相互通信的存储器适配器(未示出)配器。
处理器1010可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理器(CPU)。在各种实施方式中,处理器1010可以是双核处理器、双核移动处理器等。
存储器1012可以被实现为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储装置1014可以被实现为非易失性存储器设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储器设备、附接的存储器设备、闪存、电池备份的SDRAM(同步DRAM)和/或网络可访问存储器设备。在各种实施方式中,例如,当包括多个硬盘驱动器时,存储装置1014可以包括技术来为有价值的数字媒体增加存储性能增强保护。
图像信号处理器1017可以被实现为用于图像处理的专用数字信号处理器等。在一些示例中,可以基于单指令多数据或多指令多数据架构等来实现图像信号处理器1017。在一些示例中,图像信号处理器1017可以被表征为媒体处理器。如本文所讨论的,图像信号处理器1017可以基于片上系统架构和/或基于多核架构来实现。
图形子系统1015可以执行诸如静态图像或视频之类的图像的处理以便显示。图形子系统1015可以是例如图形处理单元(GPU)、视觉处理单元(VPU)或图像处理单元。在一些示例中,图形子系统1015可以执行本文讨论的扫描图像渲染。模拟接口或数字接口可以用于通信地耦合图形子系统1015和显示器1020。例如,该接口可以是高清多媒体接口、显示端口、无线HDMI和/或无线高清HD兼容技术中的任何一种。图形子系统1015可以集成到处理器1010或芯片组1005中。在一些实施方式中,图形子系统1015可以是通信地耦合到芯片组1005的独立设备。
本文描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能可以集成在芯片组内。可替代地,可以使用独立图像和/或图像处理器和/或专用集成电路。作为又一实施方式,图形和/或视频功能可以由包括多核处理器的通用处理器提供。在其他实施例中,功能可以在消费电子设备中实现。
无线电装置1018可以包括能够使用各种合适的无线通信技术来发送和接收信号的一个或多个无线电装置。此类技术可能涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在通过此类网络进行通信时,无线电装置1018可以根据任何版本的一个或多个适用标准来操作。
在各种实施方式中,显示器1020可以包括任何平板监视器或显示器。显示器1020可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器1020可以是数字的和/或模拟的。在各种实施方式中,显示器1020可以是全息显示器。此外,显示器1020可以是可以接收视觉投影的透明表面。此类投影可以传送各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用1016的控制下,平台1002可以在显示器1020上显示用户界面1022。
在各种实施方式中,(一个或多个)内容服务设备1030可以由任何国家的、国际的和/或独立的服务托管,并且因此例如经由因特网可访问平台1002。(一个或多个)内容服务设备1030可以耦合到平台1002和/或显示器1020。平台1002和/或(一个或多个)内容服务设备1030可以耦合到网络1060,以向和从网络1060传送(例如,发送和/或接收)媒体信息。(一个或多个)内容传递设备1040也可以耦合到平台1002和/或显示器1020。
在各种实施方式中,(一个或多个)内容服务设备1030可以包括有线电视盒、个人计算机、网络、电话、能够传送数字信息和/或内容的因特网使能设备或装置、以及能够经由网络1060或直接地在内容提供商与平台1002和/或显示器1020之间单向地或双向地传送内容的任何其他类似设备。应该理解的是,该内容可以经由网络1060单向和/或双向地传送到系统1000和内容提供商中的任何一个组件。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
(一个或多个)内容服务设备1030可以接收诸如有线电视节目的内容,包括媒体信息、数字信息和/或其他内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或因特网内容提供商。提供的示例并不意味着以任何方式限制根据本公开的实施方式。
在各种实施方式中,平台1002可以从具有一个或多个导航特征的导航控制器1050接收控制信号。例如,导航控制器1050的导航特征可以用于与用户界面1022交互。在各种实施例中,导航控制器1050可以是指示装置,其可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体地,人机接口设备)。例如图形用户界面(GUI)、电视和监视器的许多系统允许用户使用物理姿势来控制计算机或电视并将数据提供给计算机或电视。
导航控制器1050的导航特征的移动可以通过显示器上显示的指针、光标、聚焦环或其他视觉指示符的移动而在显示器(例如,显示器1020)上被复制。例如,在软件应用1016的控制下,位于导航控制器1050上的导航特征可以例如被映射到在用户界面1022上显示的虚拟导航特征。在各种实施例中,导航控制器1050可以不是单独的组件,而是可以集成到平台1002和/或显示器1020中。然而,本公开不限于本文示出或描述的元件或环境。
在各种实施方式中,例如,当被使能时,驱动器(未示出)可以包括使用户能够在初始启动之后通过触摸按钮像电视那样即刻打开和关闭平台1002的技术。程序逻辑也可以允许平台1002即使在平台被“关闭”时也将内容流式传输到媒体适配器或其他内容服务设备1030或内容传递设备1040。另外,芯片组1005可以包括例如针对5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件支持和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在各种实施例中,图形驱动器可以包括外围组件互连(PCI)Express图形卡。
在各种实施方式中,可以集成系统1000中所示的任何一个或多个组件。例如,平台1002和(一个或多个)内容服务设备1030可以被集成,或者平台1002和(一个或多个)内容传递设备1040可以被集成,或者平台1002、(一个或多个)内容服务设备1030和(一个或多个)内容传递设备1040可以被集成。在各种实施方式中,平台1002和显示器1020可以是集成单元。例如,显示器1020和(一个或多个)内容服务装置1030可以被集成,或者显示器1020和(一个或多个)内容传递设备1040可以被集成。这些示例并不意味着限制本公开。
在各种实施例中,系统1000可以被实现为无线系统、有线系统或两者的组合。当被实现为无线系统时,系统1000可以包括适于通过无线共享介质进行通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的一部分,例如RF频谱等。当被实现为有线系统时,系统1000可以包括适于通过有线通信介质进行通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括电线、电缆、金属引线、印刷电路板(PCB)、背板,交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台1002可以建立一个或多个逻辑或物理信道来传送信息。该信息可以包括媒体信息和控制信息。媒体信息可以指表示针对用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频和文本等的数据。来自语音对话的数据可以是例如语音信息、沉默时段、背景噪声、舒适噪声和音调等。控制信息可以指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或指示节点以预定方式处理媒体信息。然而,实施例不限于图10中示出或描述的元件或环境。
如上所述,系统1000可以以变化的物理样式或形状因数来体现。图11示出了根据本公开的至少一些实施方式布置的示例性小形状因数设备1100。在一些示例中,系统1000可以经由设备1100来实现。在其他示例中,其他设备或系统或其一部分可以经由设备1100来实现。在各种实施例中,例如,设备1100可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电源或电源(例如,一个或多个电池)的任何设备。
移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、智能设备(例如,智能电话、智能平板电脑或智能移动电视)、移动因特网设备(MID)、消息收发设备、数据通信设备、相机等。
移动计算设备的示例还可以包括被布置为由人穿戴的计算机,例如腕式计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机和其他可穿戴计算机。在各种实施例中,例如,移动计算设备可以被实现为能够执行计算机应用和语音通信和/或数据通信的智能电话。虽然一些实施例可以通过示例的方式用实现为智能电话的移动计算设备来描述,但是可以理解,也可以使用其他无线移动计算设备来实现其他实施例。实施例不限于此环境。
如图11所示,设备1100可以包括具有正面1101和背面1102的壳体。设备1100包括显示器1104、输入/输出(I/O)设备1106和集成天线1108。设备1100还可以包括导航特征1112。I/O设备1106可以包括用于将信息输入到移动计算设备中的任何合适的I/O设备。I/O设备1106的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件等。信息也可以通过麦克风(未示出)输入到设备1100中,或者可以由语音识别设备数字化。如图所示,设备1100可以包括相机1105(例如,包括镜头、光圈和成像传感器)和集成在设备1100的背面1102(或其他位置)中的闪光灯1110。相机1105和闪光灯1110可以是相机模块的组件,以产生被处理为流视频的图像数据,该流视频例如被输出到显示器1104和/或经由天线1108从设备1100远程传送。
可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片和芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据任何数量的因素而变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性指令来实现,该代表性指令表示处理器内的各种逻辑,当该指令被机器读取时使得机器制造逻辑执行本文所述的技术。可以将此类表示(称为IP核)存储在有形的机器可读介质上,并提供给各种客户或制造设施,以加载到实际制造逻辑或处理器的制造机器中。
虽然已经参考各种实施方式描述了本文阐述的某些特征,但是该描述并不旨在以限制性意义来解释。因此,对于本公开所属领域的技术人员而言显而易见的是,本文所述的实施方式以及其他实施方式的各种修改被认为落在本公开的精神和范围内。
在一个或多个第一实施例中,一种用于鱼眼相机校准的方法包括:将第一卷积神经网络应用于包括输入的鱼眼图像的第一输入体积,以生成用于与用于获得输入的鱼眼图像的鱼眼相机相对应的统一相机模型的焦距、统一相机模型参数和统一径向变形参数;使用焦距、统一相机模型参数和径向变形参数将输入的鱼眼图像投影到估计的等矩柱状图像;将输入的鱼眼图像与估计的等矩柱状图像进行差分以生成差分图像;将第二卷积神经网络应用于包括输入的鱼眼图像和差分图像的第二输入体积,以生成相机模型的主点;以及输出统一相机模型的焦距、统一相机模型参数、径向变形参数和主点。
在一个或多个第二实施例中,根据第一实施例,该方法还包括将输入的鱼眼图像或与输入的鱼眼图像相对应的第二输入的鱼眼图像投影到最终等矩柱状图像,并将最终等矩柱状图像输出到存储器。
在一个或多个第三实施例中,根据第一或第二实施例,最终等矩柱状图像基于第二输入的鱼眼图像,并且输入的鱼眼图像是从第二输入的鱼眼图像中裁剪的。
在一个或多个第四实施例中,根据第一至第三实施例中任一项,统一相机模型参数包括统一相机模型的参考坐标系偏移,并且统一相机模型的相机投影矩阵包括焦距和主点。
在一个或多个第五实施例中,根据第一至第四实施例中任一项,第二输入体积包括输入的鱼眼图像的三个颜色通道与差分图像的三个颜色通道的级联。
在一个或多个第六实施例中,根据第一至第五实施例中任一项,第一卷积神经网络包括:最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出针对焦距、统一相机模型参数和径向变形参数中的每一者的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成焦距、统一相机模型参数和径向变形参数。
在一个或多个第七实施例中,根据第一至第六实施例中任一项,第一卷积神经网络在最终卷积层之前包括多个密集网络子单元,每个密集网络子单元接收第一输入体积与来自先前的密集网络子单元的所有特征图的级联。
在一个或多个第八实施例中,根据第一至第七实施例中任一项,密集网络子单元中的第一密集网络子单元包括:第一卷积层,接着是第一批归一化层,接着是第一修正线性单元层。
在一个或多个第九实施例中,根据第一至第八实施例中任一项,第二卷积神经网络包括:最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出主点的每个分量的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成主点。
在一个或多个第十实施例中,根据第一至第九实施例中任一项,第二卷积神经网络在最终卷积层之前包括:多个编码器卷积神经网络层,接着是多个解码器卷积神经网络层。
在一个或多个第十一实施例中,一种设备或系统包括存储器和处理器,该处理器用于执行根据以上实施例中任一项的方法。
在一个或多个第十二实施例中,至少一种机器可读介质包括多个指令,该多个指令响应于在计算装设备上被执行而使得该计算设备执行根据以上实施例中任一项的方法。
在一个或多个第十三实施例中,一种装置包括用于执行根据以上实施例中的任一项的方法的装置。
应认识到,实施例不限于所描述的实施例,而是可以在不脱离所附权利要求的范围的情况下通过修改和变更来实践。例如,以上实施例可以包括特征的特定组合。然而,以上实施例在这方面不受限制,并且在各种实施方式中,以上实施例可以包括仅执行此类特征的子集,执行此类特征的不同顺序,执行此类特征的不同组合和/或执行除了明确列出的特征之外的附加特征。因此,实施例的范围应当参考所附权利要求以及这些权利要求所赋予的的等同物的全部范围来确定。
Claims (22)
1.一种用于鱼眼相机校准的系统,包括:
存储器,其被配置为存储输入的鱼眼图像;以及
一个或多个处理器,其被耦合到所述存储器,所述一个或多个处理器用于:
将第一卷积神经网络应用于包括所述输入的鱼眼图像的第一输入体积,以生成与用于获得所述输入的鱼眼图像的鱼眼相机相对应的统一相机模型的焦距、统一相机模型参数和径向变形参数;
使用所述焦距、所述统一相机模型参数和所述径向变形参数将所述输入的鱼眼图像投影到估计的等矩柱状图像;
对所述输入的鱼眼图像与所述估计的等矩柱状图像进行差分以生成差分图像;
将第二卷积神经网络应用于包括所述输入的鱼眼图像和所述差分图像的第二输入体积,以生成所述相机模型的主点;以及
输出所述统一相机模型的所述焦距、所述统一相机模型参数、所述径向变形参数和所述主点。
2.根据权利要求1所述的系统,所述一个或多个处理器用于:
将所述输入的鱼眼图像或与所述输入的鱼眼图像相对应的第二输入的鱼眼图像投影到最终等矩柱状图像;以及
将所述最终等矩柱状图像输出到所述存储器。
3.根据权利要求2所述的系统,其中,所述最终等矩柱状图像基于所述第二输入的鱼眼图像,并且所述输入的鱼眼图像是从所述第二输入的鱼眼图像中裁剪的。
4.根据权利要求1至3中任一项所述的系统,其中,所述统一相机模型参数包括所述统一相机模型的参考坐标系偏移,并且所述统一相机模型的相机投影矩阵包括所述焦距和主点。
5.根据权利要求1至3中任一项所述的系统,其中,所述第二输入体积包括所述输入的鱼眼图像的三个颜色通道与所述差分图像的三个颜色通道的级联。
6.根据权利要求1至3中任一项所述的系统,其中,所述第一卷积神经网络包括:最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出针对所述焦距、所述统一相机模型参数和所述径向变形参数中每一者的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成所述焦距、所述统一相机模型参数和所述径向变形参数。
7.根据权利要求6所述的系统,其中,所述第一卷积神经网络在所述最终卷积层之前包括多个密集网络子单元,每个所述密集网络子单元接收所述第一输入体积与来自先前的密集网络子单元的所有特征图的级联。
8.根据权利要求7所述的系统,其中,所述密集网络子单元中的第一密集网络子单元包括第一卷积层,接着是第一批归一化层,接着是第一修正线性单元层。
9.根据权利要求1至3中任一项所述的系统,其中,所述第二卷积神经网络包括:最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出所述主点的每个分量的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成主点。
10.根据权利要求9所述的系统,其中,所述第二卷积神经网络在所述最终卷积层之前包括:多个编码器卷积神经网络层,接着是多个解码器卷积神经网络层。
11.一种用于鱼眼相机校准的方法,包括:
将第一卷积神经网络应用于包括输入的鱼眼图像的第一输入体积,以生成与用于获得所述输入的鱼眼图像的鱼眼相机相对应的统一相机模型的焦距、统一相机模型参数和径向变形参数;
使用所述焦距、所述统一相机模型参数和所述径向变形参数将所述输入的鱼眼图像投影到估计的等矩柱状图像;
对所述输入的鱼眼图像与所述估计的等矩柱状图像进行差分以生成差分图像;
将第二卷积神经网络应用于包括所述输入的鱼眼图像和所述差分图像的第二输入体积,以生成所述相机模型的主点;以及
输出所述统一相机模型的所述焦距、所述统一相机模型参数、所述径向变形参数和所述主点。
12.根据权利要求11所述的方法,还包括:
将所述输入的鱼眼图像或与所述输入的鱼眼图像相对应的第二输入的鱼眼图像投影到最终等矩柱状图像;以及
将所述最终等矩柱状图像输出到存储器。
13.根据权利要求12所述的方法,其中,所述最终等矩柱状图像基于所述第二输入的鱼眼图像,并且所述输入的鱼眼图像是从所述第二输入的鱼眼图像中裁剪的。
14.根据权利要求11至13中任一项所述的方法,其中,所述统一相机模型参数包括所述统一相机模型的参考坐标系偏移,并且所述统一相机模型的相机投影矩阵包括所述焦距和主点。
15.根据权利要求11至13中任一项所述的方法,其中,所述第二输入体积包括所述输入的鱼眼图像的三个颜色通道与所述差分图像的三个颜色通道的级联。
16.根据权利要求11至13中任一项所述的方法,其中,所述第一卷积神经网络包括:最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出针对所述焦距、所述统一相机模型参数和所述径向变形参数中每一者的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成所述焦距、所述统一相机模型参数和所述径向变形参数。
17.根据权利要求16所述的方法,其中,所述第一卷积神经网络在所述最终卷积层之前包括多个密集网络子单元,每个所述密集网络子单元接收所述第一输入体积与来自先前的密集网络子单元的所有特征图的级联。
18.根据权利要求17所述的方法,其中,所述密集网络子单元中的第一密集网络子单元包括:第一卷积层,接着是第一批归一化层,接着是第一修正线性单元层。
19.根据权利要求11至13中任一项所述的方法,其中,所述第二卷积神经网络包括:最终卷积层,接着是批归一化层,接着是Sigmoid单元层,用于输出所述主点的每个分量的特征图,以及全局平均池化层,用于对每个特征图进行平均以生成主点。
20.根据权利要求19所述的方法,其中,所述第二卷积神经网络在所述最终卷积层之前包括:多个编码器卷积神经网络层,接着是多个解码器卷积神经网络层。
21.至少一种机器可读介质,包括:
多个指令,其响应于在计算设备上被执行而使得所述计算设备执行根据权利要求11至20中任一项所述的方法。
22.一种装置,包括:
用于执行根据权利要求11至20中任一项所述的方法的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/869,209 | 2020-05-07 | ||
US16/869,209 US11871110B2 (en) | 2020-05-07 | 2020-05-07 | Single image ultra-wide fisheye camera calibration via deep learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113628276A true CN113628276A (zh) | 2021-11-09 |
Family
ID=72042544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011376699.3A Pending CN113628276A (zh) | 2020-05-07 | 2020-11-30 | 经由深度学习的单图像超广角鱼眼相机校准 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11871110B2 (zh) |
EP (1) | EP3907703A1 (zh) |
CN (1) | CN113628276A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114862717A (zh) * | 2022-05-11 | 2022-08-05 | 桂林理工大学 | 主光轴与核线正交和横轴共线同时约束的鱼眼相机像对检校方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153357A (zh) * | 2019-06-28 | 2020-12-29 | 中强光电股份有限公司 | 投影系统及其投影方法 |
CN112927304B (zh) * | 2021-02-22 | 2022-08-19 | 桂林电子科技大学 | 一种基于卷积神经网络的鱼眼镜头标定方法 |
CN112967345B (zh) * | 2021-03-09 | 2024-04-26 | 阿波罗智联(北京)科技有限公司 | 鱼眼相机的外参标定方法、装置以及系统 |
CN113469898A (zh) * | 2021-06-02 | 2021-10-01 | 北京邮电大学 | 基于深度学习的图像去畸变方法及相关设备 |
CN116091307B (zh) * | 2023-04-06 | 2023-06-20 | 湖北易康思科技有限公司 | 鱼眼图像的矫正模型的微调方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7308131B2 (en) * | 2002-12-03 | 2007-12-11 | Ntt Docomo, Inc. | Representation and coding of panoramic and omnidirectional images |
EP3136340A1 (en) * | 2015-08-27 | 2017-03-01 | Thomson Licensing | Method for estimating a unified projection model for a camera and apparatus performing the same |
WO2020187723A1 (en) * | 2019-03-15 | 2020-09-24 | Mapillary Ab, | Methods for analysis of an image and a method for generating a dataset of images for training a machine-learned model |
-
2020
- 2020-05-07 US US16/869,209 patent/US11871110B2/en active Active
- 2020-11-30 CN CN202011376699.3A patent/CN113628276A/zh active Pending
- 2020-12-22 EP EP20216303.6A patent/EP3907703A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114862717A (zh) * | 2022-05-11 | 2022-08-05 | 桂林理工大学 | 主光轴与核线正交和横轴共线同时约束的鱼眼相机像对检校方法 |
CN114862717B (zh) * | 2022-05-11 | 2023-06-23 | 桂林理工大学 | 主光轴与核线正交和横轴共线同时约束的鱼眼相机像对检校方法 |
Also Published As
Publication number | Publication date |
---|---|
US11871110B2 (en) | 2024-01-09 |
EP3907703A1 (en) | 2021-11-10 |
US20200267310A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11423508B2 (en) | Method and system of point cloud registration for image processing | |
US11676278B2 (en) | Deep learning for dense semantic segmentation in video with automated interactivity and improved temporal coherence | |
US11871110B2 (en) | Single image ultra-wide fisheye camera calibration via deep learning | |
US11823033B2 (en) | Condense-expansion-depth-wise convolutional neural network for face recognition | |
CN107925755B (zh) | 针对图像处理进行平面表面检测的方法和系统 | |
US10818064B2 (en) | Estimating accurate face shape and texture from an image | |
US11880770B2 (en) | 3D object recognition using 3D convolutional neural network with depth based multi-scale filters | |
US11928753B2 (en) | High fidelity interactive segmentation for video data with deep convolutional tessellations and context aware skip connections | |
US9704254B2 (en) | Stereo image matching by shape preserving filtering of a cost volume in a phase domain | |
US10896348B2 (en) | End to end framework for geometry-aware multi-scale keypoint detection and matching in fisheye images | |
US11734856B2 (en) | Adaptive virtual camera for indirect-sparse simultaneous localization and mapping systems | |
CN114078135A (zh) | 利用图像分割将复杂的3d对象嵌入到增强现实场景中 | |
WO2017084009A1 (en) | Disparity search range compression | |
US10825131B2 (en) | Circular fisheye camera array rectification | |
US20240005628A1 (en) | Bidirectional compact deep fusion networks for multimodality visual analysis applications | |
EP3886044A1 (en) | Robust surface registration based on parameterized perspective of image templates | |
NL2029657B1 (en) | Accurate optical flow estimation in stereo pairs of equirectangular images | |
JP7459425B2 (ja) | 適応的ランタイム高効率画像分類のための入力画像サイズスイッチ可能ネットワーク | |
CN114257733A (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 |