CN116579962A - 一种基于鱼眼相机的全景感知方法、装置、设备及介质 - Google Patents
一种基于鱼眼相机的全景感知方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116579962A CN116579962A CN202310542546.9A CN202310542546A CN116579962A CN 116579962 A CN116579962 A CN 116579962A CN 202310542546 A CN202310542546 A CN 202310542546A CN 116579962 A CN116579962 A CN 116579962A
- Authority
- CN
- China
- Prior art keywords
- camera
- fisheye
- cameras
- image
- parallax
- 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 58
- 238000003384 imaging method Methods 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 39
- 238000013528 artificial neural network Methods 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 14
- 230000008447 perception Effects 0.000 claims description 12
- 238000009499 grossing Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- 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
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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
- 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/30244—Camera pose
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于鱼眼相机的全景感知方法、装置、设备及介质,可广泛应用于实时环视深度估计领域,方法包括:通过四个鱼眼相机获取四张鱼眼图像;四个鱼眼相机分别放置在同一个正方形的四个顶点上,镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机;根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张鱼眼图像转换为对应双目相机的左图像和右图像;利用二值神经网络提取每个双目相机左图像的左图像特征和右图像的右图像特征;对每个双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个鱼眼相机所处位置全景的四张深度图。
Description
技术领域
本发明涉及实时环视深度估计领域,尤其是一种基于鱼眼相机的全景感知方法、装置、设备及介质。
背景技术
鱼眼相机存在严重的非线性畸变,同一物体在不同视角下图像变形不一致,不存在传统立体匹配中的极线约束,给立体匹配带来了重大挑战,因此通常鱼眼环视立体匹配算法较为复杂,对算力要求较高;使用多视角鱼眼相机进行环视立体匹配同时有多张图像需要计算,由于处理单张图像算法计算复杂度高,处理多张图像对算力的要求更高,因此难以实时运行;目前绝大多数方法利用深度神经网络处理多视角鱼眼立体匹配问题,当实际使用环境与训练神经网络使用的数据集场景差异较大时,网络性能下降较多,存在泛化性较差的问题。
因此,上述问题亟待解决。
发明内容
有鉴于此,本发明实施例提供一种基于鱼眼相机的全景感知方法、装置、设备及介质,用于提高鱼眼相机环视立体匹配的实时运行效率及泛化性。
本发明实施例的一方面提供了一种基于鱼眼相机的全景感知方法,包括:
通过四个鱼眼相机获取对应的四张鱼眼图像;其中,四个鱼眼相机分别放置在同一个正方形的四个顶点上,且镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机;
根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张所述鱼眼图像转换为对应所述双目相机的左图像和右图像;
利用二值神经网络提取每个所述双目相机左图像对应的左图像特征和右图像对应的右图像特征;
对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图。
可选地,所述映射表的生成过程,包括:
确定预先设定的虚拟针孔相机的参数;
根据所述虚拟针孔相机的参数将所述虚拟针孔相机拍摄得到的虚拟针孔图像中的图像点投影到三维空间;
根据鱼眼相机的成像原理将所述三维空间中的图像点投影到鱼眼相机成像平面;
生成所述图像点与所述鱼眼相机成像平面的所述映射表。
可选地,所述根据鱼眼相机的成像原理将所述三维空间中的图像点投影到鱼眼相机成像平面,包括:
将所述图像点转换为单位球面上的单位向量;
根据所述鱼眼相机成像原理计算光线入射角与所述鱼眼相机成像平面的中心点到所述鱼眼相机成像平面的投影点的径向距离关系;
根据所述单位向量与所述径向距离关系计算所述图像点在所述鱼眼相机成像平面的投影坐标。
可选地,所述方法还包括:
利用最小二程优化并根据所述投影坐标的多项式参数、所述鱼眼相机的仿射变换矩阵、光线入射角为0时所述鱼眼相机成像平面的中心点的位置坐标以及所述鱼眼相机与标定板之间的旋转矩阵和平移矩阵,标定所述鱼眼相机的内参。
可选地,所述对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图,包括:
对每个所述双目相机对应的左图像特征和右图像特征进行匹配代价计算,以在所述右图像特征中确定所述左图像特征的左图像素对应的右图像素;
将每个所述左图像素对应的所有右图像素进行平滑处理,以聚合得到全局匹配代价;
利用半全局匹配算法计算所述全局匹配代价中每个左图像素对应的右图像素的像素位移,得到视差值,并根据所述视差值确定对应的视差图;
根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图。
可选地,所述对每个所述双目相机对应的左图像特征和右图像特征进行匹配代价计算,包括:
对每个所述双目相机对应的左图像特征和右图像特征计算汉明距离,作为匹配代价计算。
可选地,在所述根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图之前,还包括:
对所述视差图进行视差平滑、视差插值、视差一致性检查或边缘保留中的至少之一,得到视差优化后的视差图;
所述根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图,包括:
根据所述视差优化后的视差图确定覆盖四个所述鱼眼相机所处位置全景的四张深度图。
本发明实施例的另一方面还提供了一种基于鱼眼相机的全景感知装置,包括:
鱼眼图像获取单元,用于通过四个鱼眼相机获取对应的四张鱼眼图像;其中,四个鱼眼相机分别放置在同一个正方形的四个顶点上,且镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机;
鱼眼图像转换单元,用于根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张所述鱼眼图像转换为对应所述双目相机的左图像和右图像;
图像特征提取单元,用于利用二值神经网络提取每个所述双目相机左图像对应的左图像特征和右图像对应的右图像特征;
视差计算单元,用于对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图。
本发明实施例的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现所述的一种基于鱼眼相机的全景感知方法。
本发明实施例的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现所述的一种基于鱼眼相机的全景感知方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明通过将鱼眼图像转换为类针孔图像,即由两个虚拟针孔相机构成的双目相机的左图像和右图像,恢复了极线约束,降低了算法的复杂度,对算力要求降低;本发明使用二值神经网络提取图像特征,对网络进行量化显著降低了计算量,同时在精度上没有明显的衰减;此外在本发明中,二值神经网络可以只负责特征提取,功能单一,因此有较好的泛化性,适用于多种使用场景。因此,本发明在保持精度的情况下可以在算力受限的平台,诸如Xavier、FPGA等设备上实时运行,具有更广阔的应用场景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于鱼眼相机的全景感知方法的流程示意图;
图2为本发明实施例提供的一种鱼眼相机的俯视图;
图3为本发明实施例提供的一种虚拟针孔双目相机的示意图;
图4为本发明实施例提供的一种鱼眼相机成像模型的成像过程示意图;
图5为本发明实施例提供的一种鱼眼镜头对光的折射的过程示意图;
图6为本发明实施例提供的一种鱼眼图像转换为虚拟针孔图像的示意图;
图7为本发明实施例提供的一种立体匹配的流程示例图;
图8为本发明实施例提供的一种与现有算法的对比结果图;
图9为本发明实施例提供的一种转换后的虚拟针孔图像与生成的视差图;
图10为本发明实施例提供的一种立体匹配算法流程图;
图11为本发明实施例提供的一种基于鱼眼相机的全景感知的示例流程图;
图12为本发明实施例提供的一种基于鱼眼相机的全景感知装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明实施例提供了一种基于鱼眼相机的全景感知方法,具体包括以下步骤:
S100:通过四个鱼眼相机获取对应的四张鱼眼图像;其中,四个鱼眼相机分别放置在同一个正方形的四个顶点上,且镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机。
首先,对本发明实施例的鱼眼相机进行说明,参照图2,本发明实施例提供了一种鱼眼相机的俯视图。
其中,本发明实施例的鱼眼相机的最大拍摄角度可以是220°,还可以根据实际情况选择其它角度的鱼眼相机。四个鱼眼相机水平放置在正方形的四个顶点上,且镜头朝向正方形的对角线外侧,因此四个鱼眼相机拍摄的图像可以360°覆盖周围的景象,即可以获取周围的全景图像。
具体的,每个鱼眼相机可以生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机可以构成双目相机,四个鱼眼相机可生成八个虚拟针孔相机,可构成四组双目相机覆盖水平360°。如图3所示,本发明实施例提供了一种虚拟针孔双目相机的示意图。其中,正方形对角线方向可以代表鱼眼相机及鱼眼相机光心方向,正方形同一条边上的两个虚拟针孔相机构成一组双目相机。
S110:根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张所述鱼眼图像转换为对应所述双目相机的左图像和右图像。
具体的,映射表的生成过程可以包括:
S1、确定预先设定的虚拟针孔相机的参数。
具体的,由于虚拟针孔相机是虚拟生成,因此其参数可以由用户自由设定。
S2、根据所述虚拟针孔相机的参数将所述虚拟针孔相机拍摄得到的虚拟针孔图像中的图像点投影到三维空间。
S3、根据鱼眼相机的成像原理将所述三维空间中的图像点投影到鱼眼相机成像平面。
S4、生成所述图像点与所述鱼眼相机成像平面的所述映射表。
具体的,对上述步骤S2、S3进行说明,首先对鱼眼相机成像模型进行说明,具体如下:
利用鱼眼相机成像模型可以实现将空间三维坐标,即图像点的坐标,投影到鱼眼图像二维像素坐标。鱼眼相机成像模型的成像过程可以参照图4。
具体的,图4中PC代表三维空间中的点,S代表单位球面,Ω代表鱼眼相机成像平面,OC,OCl为两个虚拟点,抽象代表光线进入鱼眼镜头发射折射的入射点与出射点,z穿过鱼眼相机成像平面中心主点Oi,垂直向上,代表镜头的光轴。
鱼眼镜头对光的折射的过程可以参照图5,该过程可以有以下特性(1)任何穿过光轴的光线都不会改变方向;(2)随着入射角θi的增大,出射角θr单调递增;(3)如果入射光线是径向对称的,那么折射光线也成径向对称,这代表如果入射角θi相同,那么出射角θr也相同。
使用R(θ)代表入射角θ与像平面主点Oi到成像平面投影点u的径向距离关系,即R(θ)=|Oiu|,同时对光线折射过程抽象简化得到Rref(θ),代表与入射角θ相关的参考径向距离。用等距模型作为参考径向距离,即Rref(θ)=fθ,其中f为焦距。
定义镜头畸变公式如下:
畸变函数D(θ)可以用高阶多项式实现,根据上述公式可以得到平面投影点到像平面主点的距离为:
因此,上述步骤S3、根据鱼眼相机的成像原理将所述三维空间中的图像点投影到鱼眼相机成像平面,可以包括:
S31、将所述图像点转换为单位球面上的单位向量。
S32、根据所述鱼眼相机成像原理计算光线入射角与所述鱼眼相机成像平面的中心点到所述鱼眼相机成像平面的投影点的径向距离关系。
S33、根据所述单位向量与所述径向距离关系计算所述图像点在所述鱼眼相机成像平面的投影坐标。
具体的,如图4所示,将三维世界坐标点投影到鱼眼相机成像平面上可以包括以下步骤:将三维点变换为单位向量;按照图5所示的鱼眼镜头对光的折射的过程求出R(θ);分解R(θ)得到图像点u的投影坐标。
(1)将三维点变换为单位向量。
假设Pc=[xC,yC,zC]T,首先将其转换到单位球上的 根据图中坐标系的定义,可以得到两个角度值:
(2)按照图5所示的鱼眼镜头对光的折射的过程求出R(θ)。
按照鱼眼相机对光线折射公式,可得到:
其中R(θ)=fR0(θ)。
(3)分解R(θ)得到图像点u的投影坐标。
成像平面坐标为:
其中[cx,cy]T代表在入射角为0时,主点位置。焦距f用2×2的仿射变换矩阵Af代替,以处理镜头相对于传感器之间的旋转等变化。综合上述公式,可得到投影公式:
其中
至此,鱼眼成像模型解释完毕。
然后,对根据映射表将每张鱼眼图像转换为对应双目相机的左图像和右图像的过程进行说明。
具体的,由于生成的是虚拟针孔相机,该相机参数可以进行自定义,设置好针孔相机参数后,将图像点投影到三维空间,然后利用上述投影公式,将三维点投影到鱼眼相机成像平面上,用公式表示该过程为:
其中uV代表虚拟针孔图像像素坐标,代表虚拟针孔图像从二维到三维的投影,代表虚拟针孔相机与鱼眼相机之间的旋转矩阵,πC代表鱼眼相机的投影,uC代表鱼眼图像像素坐标。以上完成了从2D针孔图像平面->空间三维点->鱼眼成像平面过程。一种可选的实施方式下,在实际使用中,获得的可以是鱼眼图像,目标是生成虚拟针孔图像,即双目相机的左图像和右图像,因此,通过上述过程生成映射表,利用OpenCV中reamp()函数完成从鱼眼图像到虚拟针孔图像的转换。参照图6,本发明实施例提供了一种鱼眼图像转换为虚拟针孔图像的示意图。
进一步,本发明实施例还可以包括:
利用最小二程优化并根据所述投影坐标的多项式参数、所述鱼眼相机的仿射变换矩阵、光线入射角为0时所述鱼眼相机成像平面的中心点的位置坐标以及所述鱼眼相机与标定板之间的旋转矩阵和平移矩阵,标定所述鱼眼相机的内参。
具体的,需要标定的参数有ηi多项式参数、Af矩阵、和cx,cy。定义重投影误差如下:
其中和/>为相机与标定板之间的旋转矩阵和平移矩阵,可以通过PNP算法获得,u为图像点坐标,目标是使这个误差最小,利用最小二程优化,即可获得鱼眼相机内参。
S120:利用二值神经网络提取每个所述双目相机左图像对应的左图像特征和右图像对应的右图像特征。
具体的,随着深度神经网络的应用,立体匹配研究在精度方面取得了重大进展。但高精度导致的问题是计算开销大。当前最先进的立体匹配算法,即使在算力最强的GPU上运行,从单帧双目图像中计算深度也需要较长的时间。同时,由于传统深度学习使用的是全精度浮点计算对图片进行特征提取,并使用特征矩阵的浮点余弦相似度计算代价,这些复杂的操作和有限的计算资源存在着严重的冲突,难以在算力受限的平台实时运行。
针对这个问题,本发明实施例可以使用二值化对传统神经网络进行量化,这样设计不仅可以减少储存资源,而且可以降低计算量,这样可以保证在算力受限的平台部署、运行,同时只需要很小的储存空间与很短的运行时间就可以得到准确的场景深度信息。
二值神经网络(Binary Neural Network,BNN)是指将深度神经网络的参数及输入进行1位的量化,其数据只有1和0(或-1)两个可能的值。使用二值化对网络进行压缩之后,网络中的权重和激活值都只需要极少量的存储空间,同时,二值网络可以使用轻量级的位操作来代替浮点运算,具有硬件友好的特点。
S130:对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图。
具体的,视差计算过程即视差估计过程,视差估计也可以称作立体匹配,其输入是一对在同一时刻捕捉到的,经过极线校正的左右图像。它的输出是参考图像中每个像素对应的视差值所构成的图像。视差是三维场景中某一点在左右图像中对应点位置的像素级差距。获得视差后利用相机内参、外参计算获得相机到周围物体的距离。
参照图7,本发明实施例提供了一种立体匹配的流程示例图。
接下来将对图7过程进行说明。
1.匹配代价计算。
匹配代价计算是指对左图像素和右图像素之间的相似度或差异性进行度量,以确定每个左图像素对应的右图像素。匹配代价计算的目的是找到左图中每个像素对应的最佳右图像素,从而确定像素的视差值。常用的匹配代价计算方法包括以下几种:SSD(SumofSquared Differences),左图像和右图像像素的差的平方和;NCC(Normalized CrossCorrelation),左图像素和右图像素之间的归一化的互相关系数;SAD(Sum of AbsoluteDifferences),左图像素和右图像素的差的绝对值和等。
2.代价聚合。
代价聚合是指对左图像素对应的所有右图像素的匹配代价进行平滑处理,以减少误匹配和不连续的视差结果。代价聚合的目的是将局部的代价信息结合起来,形成全局的匹配代价,并为后续的视差计算提供更准确的信息。代价聚合可以有效地降低误匹配和不连续的视差结果,并为后续的视差计算提供更准确的信息。
3.视差计算。
视差计算是指根据左图像素和右图像素之间的匹配代价,确定每个左图像素对应的右图像素的像素位移,即视差。视差是表示相机视角中不同像素之间的距离差异,也是衡量物体深度的一种指标。根据左右图像素之间的匹配代价,可得到每个左图像素对应的最佳匹配的右图像素,从而计算出每个像素的视差值。视差计算是立体匹配中的核心步骤,其准确度直接影响到立体匹配的效果。
5.视差优化。
视差优化是指对初始视差图进行精细化处理,以提高视差图的质量和精度。视差优化的目的是提高视差图的准确性和稳定性,以便后续的深度计算和三维重建等应用。视差优化通常包括以下几个方面的处理:视差平滑,视差插值,视差一致性检查,边缘保留等。
6.汉明距离。
汉明距离(Hamming Distance)是应用于数据传输差错控制编码的距离度量方式,它表示两个(相同长度)字符串对应位不同的数量。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。我们也可以将汉明距离理解为两个等长字符串之间将其中一个变为另外一个所需要作的最小替换次数。
7.半全局匹配算法。
半全局匹配算法(Semi-Global Matching,SGM)是一种常用的视差图计算算法,常用于立体匹配和三维重建领域,改进全局匹配算法的性能。SGM的核心思想是将立体匹配问题转化为一个能量最小化问题,通过计算代价卷积得到每个像素的代价立方体,进而通过代价聚合来计算像素的视差值。在代价聚合过程中,SGM引入了全局平滑性约束,使得计算出的视差图更加平滑,同时减少了误匹配的情况。SGM算法相对于传统的全局匹配算法,具有更高的精度和更低的计算复杂度,因此在立体匹配和三维重建领域中得到了广泛的应用。
因此,上述步骤S130,对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图,可以包括:
S1、对每个所述双目相机对应的左图像特征和右图像特征进行匹配代价计算,以在所述右图像特征中确定所述左图像特征的左图像素对应的右图像素。
具体的,可以对每个所述双目相机对应的左图像特征和右图像特征计算汉明距离,作为匹配代价计算。
S2、将每个所述左图像素对应的所有右图像素进行平滑处理,以聚合得到全局匹配代价。
S3、利用半全局匹配算法计算所述全局匹配代价中每个左图像素对应的右图像素的像素位移,得到视差值,并根据所述视差值确定对应的视差图。
S4、根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图。
进一步,为了优化视差图,本发明实施例还可以包括:对所述视差图进行视差平滑、视差插值、视差一致性检查或边缘保留中的至少之一,得到视差优化后的视差图。然后,根据所述视差优化后的视差图确定覆盖四个所述鱼眼相机所处位置全景的四张深度图。
具体的,根据实验结果和理论分析得出,只通过代价计算获得深度图的方式难以适应复杂的实际环境。因此一些半全局和全局算法被应用于上述代价的修正以提高最终输出精度,这个步骤称作代价聚合。为了提高算法的鲁棒性,本发明实施例可以采用半全局匹配(SGM)算法来进行代价聚合。SGM算法为视差图设置了一个能量函数,通过最小化能量函数来达到求解每个像素最优视差值的目的,最后,根据代价聚合矩阵确定每个像素点的视差值并输出视差图。且本发明实施例对使用的SGM算法经过并行加速优化,能够以极少的运行时间提高运算结果的精度。
根据实验结果显示,本发明实施例采用的二值网络立体匹配算法在获得极大加速效果的前提下,可以达到与现有算法有竞争性的准确率,图8为该算法帧率、误差与现有算法比较的结果图。
参照图9,本发明实施例提供了一种转换后的虚拟针孔图像与生成的视差图,其中,图9中的(a)、(b)分别是两张虚拟针孔图像,(c)为生成的视差图。
参照图10,本发明实施例提供了一种立体匹配算法流程图,立体匹配的输入为转换后的虚拟针孔图像,利用二值神经网络提取图像特征,计算匹配代价后使用半全局匹配算法(SGM)进行代价聚合,计算得到视差图像。
本发明实施例的立体匹配算法采用非端到端的方式,通过同时二值化权重和激活值的方法来训练二值化网络。同时,本发明实施例使用了具有硬件友好性的汉明距离对特征进行比较计算匹配代价。
接下来将以具体实例说明本发明的应用过程。
参照图11,本发明实施例提供了一种基于鱼眼相机的全景感知的示例流程图。
具体的,本发明实施例涉及基于鱼眼相机的实时环视深度估计技术。该技术利用四个视角的鱼眼相机采集图像,通过矫正算法,其中,矫正算法可以参照上述步骤S110的过程,将每张鱼眼图像转换为两张虚拟针孔图像。通过合理的构型设计,每张虚拟针孔图像与相邻鱼眼相机矫正得到的虚拟针孔图像构成立体相对。将立体相对输入二值特征提取网络,获得每张图像的二元特征图。随后,利用汉明距离计算两张图像之间的代价,并通过半全局匹配算法进行代价聚合,以获得深度图。四个鱼眼相机可以产生覆盖水平360°方向的四组立体对应关系,因此该技术能够实现实时环视深度估计。
本发明实施例利用矫正算法,将一张鱼眼图像在横向上矫正成为两张虚拟针孔图像,降低了鱼眼相机立体匹配的难度,大大简化了鱼眼立体匹配算法的复杂度,降低了其对算力的需求。利用量化后的二值神经网络对虚拟针孔图像进行立体匹配,在保证精度的情况下,大幅度降低了计算耗时,并可以在算力受限的设备上实时运行。此外由于使用的网络功能单一,仅负责特征提取,且经过科学合理的训练,因此具有较好泛化性,适用场景更丰富。
此外本发明实施例使用四目鱼眼相机实现全景感知,相对于使用多组针孔相机实现全景感知的方案,本发明实施例大幅度降低了全景感知系统模组的体积,更加便于部署。相对于单视角环境感知,即使全景感知系统的某一个方向上的摄像头受遮挡或受光照影响而失能,全景感知系统仍可以根据其它方向上的摄像头所提供的信息,来维持全景感知系统对环境的感知能力。
参照图12,本发明实施例提供了一种基于鱼眼相机的全景感知装置,包括:
鱼眼图像获取单元,用于通过四个鱼眼相机获取对应的四张鱼眼图像;其中,四个鱼眼相机分别放置在同一个正方形的四个顶点上,且镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机;
鱼眼图像转换单元,用于根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张所述鱼眼图像转换为对应所述双目相机的左图像和右图像;
图像特征提取单元,用于利用二值神经网络提取每个所述双目相机左图像对应的左图像特征和右图像对应的右图像特征;
视差计算单元,用于对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种基于鱼眼相机的全景感知方法,其特征在于,包括:
通过四个鱼眼相机获取对应的四张鱼眼图像;其中,四个鱼眼相机分别放置在同一个正方形的四个顶点上,且镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机;
根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张所述鱼眼图像转换为对应所述双目相机的左图像和右图像;
利用二值神经网络提取每个所述双目相机左图像对应的左图像特征和右图像对应的右图像特征;
对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图。
2.根据权利要求1所述的一种基于鱼眼相机的全景感知方法,其特征在于,所述映射表的生成过程,包括:
确定预先设定的虚拟针孔相机的参数;
根据所述虚拟针孔相机的参数将所述虚拟针孔相机拍摄得到的虚拟针孔图像中的图像点投影到三维空间;
根据鱼眼相机的成像原理将所述三维空间中的图像点投影到鱼眼相机成像平面;
生成所述图像点与所述鱼眼相机成像平面的所述映射表。
3.根据权利要求2所述的一种基于鱼眼相机的全景感知方法,其特征在于,所述根据鱼眼相机的成像原理将所述三维空间中的图像点投影到鱼眼相机成像平面,包括:
将所述图像点转换为单位球面上的单位向量;
根据所述鱼眼相机成像原理计算光线入射角与所述鱼眼相机成像平面的中心点到所述鱼眼相机成像平面的投影点的径向距离关系;
根据所述单位向量与所述径向距离关系计算所述图像点在所述鱼眼相机成像平面的投影坐标。
4.根据权利要求3所述的一种基于鱼眼相机的全景感知方法,其特征在于,所述方法还包括:
利用最小二程优化并根据所述投影坐标的多项式参数、所述鱼眼相机的仿射变换矩阵、光线入射角为0时所述鱼眼相机成像平面的中心点的位置坐标以及所述鱼眼相机与标定板之间的旋转矩阵和平移矩阵,标定所述鱼眼相机的内参。
5.根据权利要求1所述的一种基于鱼眼相机的全景感知方法,其特征在于,所述对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图,包括:
对每个所述双目相机对应的左图像特征和右图像特征进行匹配代价计算,以在所述右图像特征中确定所述左图像特征的左图像素对应的右图像素;
将每个所述左图像素对应的所有右图像素进行平滑处理,以聚合得到全局匹配代价;
利用半全局匹配算法计算所述全局匹配代价中每个左图像素对应的右图像素的像素位移,得到视差值,并根据所述视差值确定对应的视差图;
根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图。
6.根据权利要求5所述的一种基于鱼眼相机的全景感知方法,其特征在于,所述对每个所述双目相机对应的左图像特征和右图像特征进行匹配代价计算,包括:
对每个所述双目相机对应的左图像特征和右图像特征计算汉明距离,作为匹配代价计算。
7.根据权利要求5所述的一种基于鱼眼相机的全景感知方法,其特征在于,在所述根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图之前,还包括:
对所述视差图进行视差平滑、视差插值、视差一致性检查或边缘保留中的至少之一,得到视差优化后的视差图;
所述根据所述视差图及所述虚拟针孔相机的参数确定覆盖四个所述鱼眼相机所处位置全景的四张深度图,包括:
根据所述视差优化后的视差图确定覆盖四个所述鱼眼相机所处位置全景的四张深度图。
8.一种基于鱼眼相机的全景感知装置,其特征在于,包括:
鱼眼图像获取单元,用于通过四个鱼眼相机获取对应的四张鱼眼图像;其中,四个鱼眼相机分别放置在同一个正方形的四个顶点上,且镜头朝向正方形的对角线外侧;每个鱼眼相机生成两个虚拟针孔相机,每个虚拟针孔相机与相邻鱼眼相机生成的虚拟针孔相机构成双目相机;
鱼眼图像转换单元,用于根据预先由鱼眼相机的成像原理与虚拟针孔相机的参数生成的映射表,将每张所述鱼眼图像转换为对应所述双目相机的左图像和右图像;
图像特征提取单元,用于利用二值神经网络提取每个所述双目相机左图像对应的左图像特征和右图像对应的右图像特征;
视差计算单元,用于对每个所述双目相机对应的左图像特征和右图像特征进行视差计算,得到覆盖四个所述鱼眼相机所处位置全景的四张深度图。
9.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至7中任一项所述的一种基于鱼眼相机的全景感知方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至7中任一项所述的一种基于鱼眼相机的全景感知方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310542546.9A CN116579962A (zh) | 2023-05-12 | 2023-05-12 | 一种基于鱼眼相机的全景感知方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310542546.9A CN116579962A (zh) | 2023-05-12 | 2023-05-12 | 一种基于鱼眼相机的全景感知方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116579962A true CN116579962A (zh) | 2023-08-11 |
Family
ID=87543805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310542546.9A Pending CN116579962A (zh) | 2023-05-12 | 2023-05-12 | 一种基于鱼眼相机的全景感知方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116579962A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883231A (zh) * | 2023-09-07 | 2023-10-13 | 深圳魔视智能科技有限公司 | 鱼眼相机的图像数据生成方法、装置、设备及存储介质 |
CN117201705A (zh) * | 2023-11-07 | 2023-12-08 | 天津云圣智能科技有限责任公司 | 一种全景图像的获取方法、装置、电子设备及存储介质 |
-
2023
- 2023-05-12 CN CN202310542546.9A patent/CN116579962A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883231A (zh) * | 2023-09-07 | 2023-10-13 | 深圳魔视智能科技有限公司 | 鱼眼相机的图像数据生成方法、装置、设备及存储介质 |
CN116883231B (zh) * | 2023-09-07 | 2024-02-02 | 深圳魔视智能科技有限公司 | 鱼眼相机的图像数据生成方法、装置、设备及存储介质 |
CN117201705A (zh) * | 2023-11-07 | 2023-12-08 | 天津云圣智能科技有限责任公司 | 一种全景图像的获取方法、装置、电子设备及存储介质 |
CN117201705B (zh) * | 2023-11-07 | 2024-02-02 | 天津云圣智能科技有限责任公司 | 一种全景图像的获取方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | 360sd-net: 360 stereo depth estimation with learnable cost volume | |
CN109166077B (zh) | 图像对齐方法、装置、可读存储介质及计算机设备 | |
TWI709107B (zh) | 影像特徵提取方法及包含其顯著物體預測方法 | |
Jordt-Sedlazeck et al. | Refractive structure-from-motion on underwater images | |
CN110070598B (zh) | 用于3d扫描重建的移动终端及其进行3d扫描重建方法 | |
CN112927362B (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN108288292A (zh) | 一种三维重建方法、装置及设备 | |
CN116579962A (zh) | 一种基于鱼眼相机的全景感知方法、装置、设备及介质 | |
CN107274483A (zh) | 一种物体三维模型构建方法 | |
CN113129430B (zh) | 基于双目结构光的水下三维重建方法 | |
CN111462302B (zh) | 基于深度编码网络的多视点人体动态三维重建方法及系统 | |
CN106952341A (zh) | 一种基于视觉的水下场景三维点云重建方法及其系统 | |
CN110517309A (zh) | 一种基于卷积神经网络的单目深度信息获取方法 | |
CN114125269B (zh) | 一种基于深度学习的手机实时全景拍摄方法 | |
CN109859137A (zh) | 一种广角相机非规则畸变全域校正方法 | |
CN116958419A (zh) | 一种基于波前编码的双目立体视觉三维重建系统和方法 | |
CN117197333A (zh) | 基于多目视觉的空间目标重构与位姿估计方法及系统 | |
CN108269234A (zh) | 一种全景相机镜头姿态估计方法及全景相机 | |
CN115330935A (zh) | 一种基于深度学习的三维重建方法及系统 | |
CN117730530A (zh) | 图像处理方法及装置、设备、存储介质 | |
Kallwies et al. | Triple-SGM: stereo processing using semi-global matching with cost fusion | |
CN107240149A (zh) | 基于图像处理的物体三维模型构建方法 | |
CN116503553A (zh) | 一种基于双目视觉和扩散模型的三维重建方法及装置 | |
CN116630423A (zh) | 一种基于orb特征的微小型机器人多目标双目定位方法及系统 | |
Maninchedda et al. | Face reconstruction on mobile devices using a height map shape model and fast regularization |
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 |