CN114757834B - 一种全景图像处理方法和全景图像处理装置 - Google Patents

一种全景图像处理方法和全景图像处理装置 Download PDF

Info

Publication number
CN114757834B
CN114757834B CN202210682109.2A CN202210682109A CN114757834B CN 114757834 B CN114757834 B CN 114757834B CN 202210682109 A CN202210682109 A CN 202210682109A CN 114757834 B CN114757834 B CN 114757834B
Authority
CN
China
Prior art keywords
image
pixel point
images
shot
depth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210682109.2A
Other languages
English (en)
Other versions
CN114757834A (zh
Inventor
杨军星
邓非
刘露露
黄鹤
王坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Civil Engineering and Architecture
Original Assignee
Beijing University of Civil Engineering and Architecture
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Civil Engineering and Architecture filed Critical Beijing University of Civil Engineering and Architecture
Priority to CN202210682109.2A priority Critical patent/CN114757834B/zh
Publication of CN114757834A publication Critical patent/CN114757834A/zh
Application granted granted Critical
Publication of CN114757834B publication Critical patent/CN114757834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本申请提供了一种全景图像处理方法和全景图像处理装置,涉及非电变量的调节领域。该方法包括:通过多个相机获取拍摄图像;根据拍摄图像的像素点的深度值,将拍摄图像投影到全景球上,得到多个序列图像;根据拍摄图像的像素点的深度值和图像间的色彩差异度,在多个序列图像的拼接过程中进行拼接线的搜索,使拼接线经过拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成360°全景图像。本申请,利用图像的深度信息进行图像的拼接,将拍摄影像投影到全景球上,保证拼接后的全景基本无错位问题,以及利用图像的深度信息和色彩差异度进行图像的拼接线的搜索,保证拼接线尽量穿过平滑及弱纹理区域,可进一步减少错位问题,提升360°全景的拼接质量。

Description

一种全景图像处理方法和全景图像处理装置
技术领域
本申请涉及非电变量的调节领域,尤其是涉及到一种全景图像处理方法和全景图像处理装置。
背景技术
相关技术中,存在多种基于单一的数据源的图像拼接方法,但是这些方法存在以下问题:1)只能适用于小视差的情况,面对大视差的情况下,这些算法得到的结果会存在较大的拼接缝和虚影。2)只从颜色域出发,不能保证拼接线很好的通过平滑的区域,并且避开场景的突出物体。例如,道路上的斑马线、建筑物的阴影、室内墙体的壁画等都会导致拼接线的质量大大降低。
发明内容
有鉴于此,本申请提供了一种全景图像处理方法和全景图像处理装置,实现了保证拼接后的全景基本无错位问题以及保证拼接线尽量穿过平滑区域及弱纹理区域。
第一方面,本申请实施例提供了一种全景图像处理方法,包括:通过多个相机获取拍摄图像;根据拍摄图像的像素点的深度值,将拍摄图像投影到全景球上,得到多个序列图像;根据拍摄图像的像素点的深度值和色彩差异度,在多个序列图像的拼接过程中进行拼接线的搜索,使拼接线经过拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成全景图像。
根据本申请实施例的上述全景图像处理方法,还可以具有以下附加技术特征:
在上述技术方案中,可选地,根据拍摄图像的像素点的深度值,将拍摄图像投影到全景球上,得到多个序列图像,包括:获取各个相机的摄影中心的平均值,并将平均值作为全景球的球心;计算拍摄图像的像素点的深度值,以及计算像素点的投影点的球面坐标,并根据球面坐标计算像素点对应空间点的物方坐标;根据像素点对应空间点的物方坐标、相机的相机模型,将像素点投影到全景球,得到多个序列图像。
在上述任一技术方案中,可选地,拍摄图像的像素点的深度值为:
D(pi)=∑j∈Q’[wjD(pj)]
其中,pi为拍摄图像的第i个像素点,Q’为与pi相邻的n个像素点的集合,pj为与pi相邻的第j个像素点,wj为pj的权值系数,i、j均为正整数;球面坐标为:
Figure 626320DEST_PATH_IMAGE001
其中,q为球面坐标,像素点在图像坐标系下的平面坐标为(x,y),像素点在球坐标系中坐标为(r,θ,φ),θ为天顶角,θ=y/r,φ为方位角,φ=2π-x/r,r为全景球的半径,O为全景球的球心坐标。
在上述任一技术方案中,可选地,根据拍摄图像的像素点的深度值和色彩差异度,在多个序列图像的拼接过程中进行拼接线的搜索,包括:获取全景球的深度图,以及根据相邻的两个序列图像,确定重叠区域深度图;将重叠区域深度图中所有的节点进行三角剖分得到三角网,将三角网上的每个三角面作为一个顶点、相邻的两个三角面构成一条边,以及为边添加权值,构造一个图结构,其中,节点为两个序列图像重叠区域的相同位置;根据像素点的深度值、色彩差异度以及图结构,确定马尔可夫随机场能量项的数据项和平滑项;计算马尔可夫随机场能量项的最优解,为每个三角面选择一张图像标签,并将对应纹理填充到三角形内,得到拼接线。
在上述任一技术方案中,可选地,确定马尔可夫随机场能量项的数据项,包括:如果三角面在目标序列图像上可见,则目标序列图像对应的数据项设置为0,其中,目标序列图像为相邻的两个序列图像中的一个;如果三角面在目标序列图像上不可见,则目标序列图像对应的数据项设置为无穷值。
在上述任一技术方案中,可选地,确定马尔可夫随机场能量项的平滑项,包括:根据像素点的深度值和sobel算子,计算重叠区域深度图的每个像素点的深度梯度,并将深度梯度作为像素点的代价值;根据代价值计算每一对相邻的像素点的平滑能量代价值,以及计算每一对相邻的像素点的色彩差异度;根据平滑能量代价值和色彩差异度,计算平滑项。
在上述任一技术方案中,可选地,代价值为:
Cg=exp[(sobel(mX)2+sobel(mY)2)1/2]
其中,exp[]为平滑函数,sobel()为sobel算子,mX为X方向的深度梯度,mY为Y方向的深度梯度;平滑能量代价值E’=Cg(x’)+Cg(y’),x’、y’为一对相邻的像素点;色彩差异度Cc(A,B,x’,y’)=||A(x’)-B(x’)||+||A(y’)-B(y’)||,A(x’)为像素点x’在图像A中的RGB值,B(x’)为像素点x’在图像B中的RGB值,A(y’)为像素点y’在图像A中的RGB值,B(y’)为像素点y’在图像B中的RGB值,图像A为相邻的两个序列图像中的一个,图像B为另一个;平滑项Esmooth(x’,y’)=(Cg(x’)+Cg(y’))×Cc
在上述任一技术方案中,可选地,为边添加权值,包括:根据色彩差异度和深度梯度,为边添加权值。
在上述任一技术方案中,可选地,该方法还包括:根据拍摄场景,调节重叠区域深度图剖分得到的三角面的数量。
第二方面,本申请实施例提供了一种全景图像处理装置,包括:获取模块,用于通过多个相机获取拍摄图像;投影模块,用于根据拍摄图像的像素点的深度值,将拍摄图像投影到全景球上,得到多个序列图像;拼接模块,用于根据拍摄图像的像素点的深度值和色彩差异度,在多个序列图像的拼接过程中进行拼接线的搜索,使拼接线经过拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成全景图像。
第三方面,本申请实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面的方法的步骤。
第五方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面的方法。
本申请实施例利用图像的深度信息进行图像的拼接和拼接线的搜索,能够至少达到两个效果:(1)深度信息辅助图像配准,将拍摄影像投影到全景球上,减少影像间的错位问题,保证拼接后的全景基本无错位问题,并能适用于较大视差情况;(2)深度信息和色彩差异度辅助拼接线的搜索,保证拼接线尽量穿过平滑及弱纹理区域,譬如墙体、道路等,并有效避开场景中的突出物体,譬如室内场景的桌子、航空影像中城市场景的建筑物等,可进一步减少错位问题,提升360°全景的拼接质量。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例的全景图像处理方法的流程示意图;
图2示出了本申请实施例的全景图像处理方法的逻辑示意图;
图3示出了本申请实施例的球面投影的示意图;
图4示出了本申请实施例的图像坐标系的示意图;
图5示出了本申请实施例的以两个标签为例的图割示意图
图6示出了本申请实施例的全景图像处理装置的结构框图;
图7示出了本申请实施例的计算机设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图像配准是计算机视觉领域的一个传统课题,已有大量的研究成果被提出。通常360°全景拼接算法首先使用特征提取与匹配算法获得影像之间的相对位姿,然后假设影像共心,将影像投影到全景球上,完成影像间的配准。当影像不共心或者拼接场景不是一个平面之时,影像间不可避免的存在错位问题。为此,相关技术中提出了尽可能投影(AsProjectiveAsPossible,APAP)、AANAP(Adaptive AsNaturalAsPossible,自适应拼接)、SPHP(Shape-preserving half-projective,保形半投影变换)等算法解决该问题。但是,APAP、AANAP、SPHP可以为手持相机(如智能手机相机)拍摄的少量图像生成非常自然和令人满意的结果,而在大规模无人机图像集上使用这些方法时,仍然会出现较大的全局失真。
对于拼接线搜索,包括基于像素的方法和基于对象的方法。其中,基于像素的方法只考虑图像像素层面的信息,计算图像间的差异性图后,搜索一条权值和最小的路径作为最优拼接线。常用的优化方法有蚁群算法、twin snakes模型、动态规划算法、分水岭算法、图割算法等。常用的度量指标有灰度差异性、纹理差异性、归一化互相关系数(NormalizedCross Correlation,NCC)等。相关技术中,包括基于twin snakes模型及层级优化策略的拼接线搜索算法、基于GraphCut的纹理图像合成算法、基于NCC及Dijkstra算法的拼接线搜索算法、多标签优化的拼接线搜索算法等。基于像素的方法适用范围广,方法简单,但是局限在于不能辨别出地物和非地物。并且有些地物,譬如房顶,也存在弱纹理的现象,这种情况下基于像素的方法并不能使拼接线绕开这些区域。另外,因为正射图像的分辨率通常较大,所以基于像素的方法效率较低,限制了它的使用范围。
基于对象的方法可以通过图像分割、语义分析、超像素分割等技术对地物进行预测和分割,从而可以引导拼接线绕开存在地物的区域。相关技术中,包括基于城市区域正射图像镶嵌分割的拼接线搜素算法、使用区域变化率(Region Change Rate,RCR)进行正射图像镶嵌的拼接线搜索的算法、超像素的梯度域拼接线搜索算法等。基于对象的方法依赖图像分割的精度,对参数的选择较敏感,并且像素级的拼接线搜索效率很低,这不适用于大规模的高分辨率数据集。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的全景图像处理方法、全景图像处理装置、计算机设备和可读存储介质进行详细地说明。
本申请实施例提供了一种全景图像处理方法,如图1所示,该方法包括:
步骤101,通过多个相机获取拍摄图像;
步骤102,根据拍摄图像的像素点的深度值,将拍摄图像投影到全景球上,得到多个序列图像;
步骤103,根据拍摄图像的像素点的深度值和图像间的色彩差异度,在多个序列图像的拼接过程中进行拼接线的搜索,使拼接线经过拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成全景图像。
需要说明的是,全景图像为预设度数的全景图像,预设度数优选为360°。
本申请实施例利用图像的深度信息进行图像的拼接和拼接线的搜索,能够至少达到两个效果:(1)深度信息辅助图像配准,将拍摄影像投影到全景球上,减少影像间的错位问题,保证拼接后的全景基本无错位问题,并能适用于较大视差情况;(2)深度信息和色彩差异度辅助拼接线的搜索,保证拼接线尽量穿过平滑及弱纹理区域,譬如墙体、道路等,并有效避开场景中的突出物体,譬如室内场景的桌子、航空影像中城市场景的建筑物等,可进一步减少错位问题,提升360°全景的拼接质量。
上述拍摄图像可以为大规模无人机图像集。
如图2所示,本申请实施例包括两方面内容,第一方面为图像的配准,即如何利用深度信息辅助几何配准,生成几乎无错位问题的360°全景影像;第二方面为拼接线搜索,即如何利用深度信息辅助拼接线寻找。
对于第一方面,多镜头全景相机因为各个相机摄影中心不共心,导致将影像投影到球上后无法避免拼接缝的出现。同时,大部分相机又近似共心,所以在这个条件下,将深度信息引入360°全景影像的拼接可以减少拼接缝的发生,基于此本申请实施例针对不同距离的像素点采用不同半径的拼接球生成序列图像。具体算法如下:
(1)球面投影算法
多个相机进行标定后可以得到每个相机的Pose(位姿),取n个相机摄影中心Oi的平均值作为全景球的球心O,球心O的计算公式如下:
O=(∑Oi)/n (1)
求得全景球的球心后,就可以使用拍摄图像的深度信息,将拍摄场景中的空间三维点投影到全景球,并求取全景球的深度图。
需要说明的是,这里不一定要计算出拍摄图像中每个像素点的深度值,例如,lidar、tof等相机得到的是离散的点云。针对这种情况,本申请实施例采用插值的方法计算像素点p的深度值,像素点p的深度值的计算公式如下:
D(pi)=∑j∈Q’[wjD(pj)] (2)
其中,pi为拍摄图像的第i个像素点,Q’为与pi相邻的n个像素点的集合,pj为与pi相邻的第j个像素点,wj为pj的权值系数,i、j均为正整数。
下面介绍计算pi点对应空间点的物方坐标pi物
半径r为P到O点的距离,为设定的已知数值,然后将像素点pi投影到球面,P为投影点。图3所示,O为全景球的球心,r为全景球的半径,pi为任一像素点,包括p1、p2、p3等,Oi为任一相机的摄影中心,包括O1、O2、O3等,P球i为pi在全景球上的投影点,包括P球1、P球2、P球3等。
(2)投影算法公式推导
1)投影球参数
半径:r=||OP||;
位姿:全景球的球心为:
O(x0,y0,z0)=(∑Oi(xi,yi,zi))/n (3)
其中,旋转矩阵R=I,I为单位阵。
2)图像参数
图像imgi的位姿用变换矩阵Ti表示,Ti为:
Figure 812581DEST_PATH_IMAGE002
(4)
其中,ti=-Ri×Ci,Ri为图像imgi对应的旋转矩阵,Ci为相机的摄影中心在世界坐标系下的坐标。
3)像素点的投影点的球面坐标
图像坐标系如图4所示,设像素点p对应图像上一点P,坐标为(x,y),p的球坐标系坐标为(r,θ,φ),其中θ为天顶角,φ为方位角,θ=y/r,φ=2π-x/r。
p在全景球上的投影点P的球面坐标q(也即笛卡尔直角世界坐标系下的坐标)为:
Figure 738949DEST_PATH_IMAGE003
(5)
得到P的三维坐标后,如图2所示,就可以根据相机模型和向量OP求解像素点p对应空间点P的物方坐标,进而计算像素点p对应的像方坐标,获得相应的像素值,完成拍摄图像在全景球上的投影。具体地,三维空间点到透视相机模型、鱼眼相机模型的拍摄图像的投影公式的计算方式如下:
(1)透视相机模型下的像素点p的像方坐标计算
已知图像imgi的Pose(位姿),求像素点p在影像坐标系下的像方坐标公式为:
q’’=F×D(∏(O’×R(q’-C)))+q’0 (6)
其中,q’’为像素像素p的像方坐标,单位为像素;q’为像素点p在世界坐标系下的物方坐标,右手系;q’0为主点偏移,单位为像素;C为相机的摄影中心在世界坐标系下的坐标;R为影像旋转矩阵;O’为一个调和矩阵,图像坐标系为YDownXRight情况下为单位阵;∏()为投影函数;D为图像畸变函数;F为透视焦距矩阵。
具体地,
Figure 213706DEST_PATH_IMAGE004
(7)
∏(u,v,w)=(u/w,v/w) (8)
Figure 567327DEST_PATH_IMAGE005
(9)
Figure 506465DEST_PATH_IMAGE006
(10)
其中,k、l、o为三轴旋转欧拉角,u、v、w分别为在X轴、Y轴、Z轴上的投影,r2=u2+v2,K1、K2、K3为径向畸变参数,P1、P2为切向畸变参数,f为像素单位焦距,s为切向畸变参数,ρ为像素比率。
(2)鱼眼相机模型的像方坐标计算
求像素点p在影像坐标系下的像方坐标公式为:
q’’=F×∏(O’×R(q’-C))+q’0 (11)
该公式中,投影函数∏()、鱼眼焦距矩阵F与透视相机不同,其余参数都相同。其中,∏():R3→R2,代表鱼眼相机投影和畸变矩阵。
∏(u,v,w)=(ρu/(u2+v2)1/2,ρv/(u2+v2)1/2) (12)
ρ=a0+a1θ+a2θ2+a3θ3+a4θ4 (13)
θ=(2/π)arctan((u2+v2)1/2/w) (14)
Figure 111889DEST_PATH_IMAGE007
(15)
其中,a0、a1、a2、a3、a4均为系数,F00=F11=πf/2,F01=F10=0,f为像素单位焦距。
完成拍摄图像在全景球上的投影后,得到一系列的序列图像,这些序列图像在球面上是配准到一起的。但是只使用深度信息辅助拼接,没有充分发挥深度信息的优势,并且因为深度信息的误差、拍摄图像位姿的误差等,需要使用拼接线搜索方法进一步消除拼接缝,得到更高质量的影像。所以本申请实施例进一步使用深度信息辅助拼接线的搜索,以改善拼接线的质量。
在详细论述本申请实施例第二方面的拼接线搜索之前,先介绍一下拼接线搜索的理论基础、马尔可夫随机场理论以及求解这个问题的图割模型理论。在计算机视觉的理论研究中,很多情况需要对模型中的对象进行打标签。例如前背景分割中将像素打上前景、背景的标签;立体视觉中为每个像素打上是视差值的标签;抠图中打上属于待抠的部分和剩下部分的标签等,而图割理论是解决这些问题非常有效的工具。拼接线的搜索需要为每个像素打上采用哪张图像像素值的标签,所以可以用图割理论解决。
在实际场景中,会将问题用一个无向图G(V,E)表示,V表示图中的顶点,E表示图的边。不过这个图与普通的图不太一样,G将标签也作为顶点,并且标签顶点与其他顶点都相连。所以G中就存在两类顶点和两类边,两类顶点包括标签顶点和普通顶点(将问题中的对象作为一个顶点,例如一个像素);两类边包括普通顶点与标签顶点相连的边(t-links)、普通顶点之间的边(n-links)。图5为以两个标签为例的图割示意图,如图5所示,每条边都有一个非负的权值,t-links边的权值衡量普通顶点选择标签顶点的质量,n-links边的权值表示普通顶点选择不同标签时的代价。一个割(cut)为图中边的子集,这个割的cost(代价)为所有边的权值之和。如果这个割将顶点分成分别包含t顶点(target)和s顶点(source)两个不连通的子集,那么这个割就是graph cut。如果这个割的权值是所有割中的权值最小的,那么这个割称为最小割。福特-富克森定理证明了最小割和最大流等价。所以这个割将所有顶点分成两部分,也就完成了打标签问题。当面对多个标签(≧3)时,可以采用alpha-expansion或者swap的算法求解。这个问题可以用成对马尔可夫随机场能量公式表示,马尔可夫随机场能量公式为:
E(L)=Edata(L)+Esmooth(L) (16)
其中,Edata(L)用于衡量顶点选择特定标签时的代价,Esmooth(L)用于衡量相邻两个顶点选择不同标签时的代价,一般称这两项为数据项和平滑项。所以关键是如何设计合理的数据项和平滑项完成特定的任务,对于拼接线的搜索来讲,普通顶点代表像素,标签代表不同的图像。
相关技术中有很多拼接线搜索的方法,包括snake法、动态规划法、graph cuts法等。综合考虑所有方面,本申请实施例中使用graph cuts算法,因为graph cuts算法的高效性,容易编程、添加约束等。
这里以两张序列图像之间的拼接线搜索为例,先生成图像的深度图,然后在深度图上使用graph cuts进行拼接线的搜索。将序列图像的每一个像素视为图中的一个顶点,相邻的像素构成一条边,然后为这条边添加权值。至于权值与色彩差异度和梯度相关,色彩差异度能减少最后合成图明显的拼接缝,梯度可以保证拼接线尽量通过深度中较平滑区域及弱纹理区域。两张序列图像重叠区域相同位置视为一个节点,并且假设每个节点有上下左右四个候选节点。
寻找一条拼接线就是将重叠区域的像素分成两类,一类像素属于序列图像A,一类像素数据序列图像B。基本思想是基于深度图构造一个带权的图结构,图中边的权值代表能量函数的cost(代价),然后使用最大流/最小割的算法找到图中的最小割作为最优拼接线。设p代表图中所有的节点,N(p)代表节点之间的邻接关系,M(p)代表所有节点的图像标签。最终目标是找到一个图像标签映射函数将每个元素p映射为一个标签,使公式(16)的能量值最小。
本申请实施例通过进行三角剖分的策略加快拼接网的构建。图像的分辨率通常非常高,如果以每个像素作为图结构中的顶点进行马尔可夫优化,那么效率会非常低下。所以本申请实施例将p进行三角剖分得到三角网T,每个三角面Fi∈T作为图结构的一个顶点,如果两个三角面相邻,则组成一条边。
最终问题就转换为为每个三角面Fi选择一张图像Ii。本申请实施例直接使用libigl算法对整个矩形测区进行剖分。libigl算法可以通过参数调节三角面的数量以面对不同的拍摄场景。通过这种方法,大大降低了图结构顶点的数量,从而增加了马尔可夫优化的效率。
在本申请实施例中,为了获得更快的效率,对于数据项的设置,如果第i个三角面在序列图像L(也即目标序列图像)上可见,也即三角面被序列图像L覆盖住,表示可以在重叠区域找拼接线,那么数据项设为0,否则为无穷值。数据项的设置公式为:
Figure 311927DEST_PATH_IMAGE008
(17)
平滑项用来惩罚当相邻的两个像素不是同一标签,同时梯度反映了图像中的区域是否平滑。所以为了使拼接线尽量通过平滑区域,平滑项应该与梯度有关。在图像中越是平滑的区域,梯度变换越小,所以使用sobel算子算出两个序列图像的重叠区域深度图每个像素位置的梯度(也即深度梯度)作为平滑项的cost(代价),每个像素点的cost计算公式如下:
Cg=exp[(sobel(mX)2+sobel(mY)2)1/2] (18)
其中,sobel()代表sobel算子,exp[]为一个平滑函数,mX为X方向的深度梯度,mY为Y方向的深度梯度。
对于每一对相邻的像素(x’,y’),定义其平滑能量代价值为两个像素的cost之和,计算公式如下:
Es’=Cg(x’)+Cg(y’) (19)
在图像拼接中,还会将像素值的色彩差异度加入平滑项,以消除合成图片后明显的拼接缝,这里直接使用像素的RGB值判断像素的色彩差异度,计算公式如下:
Cc(A,B,x’,y’)=||A(x’)-B(x’)||+||A(y’)-B(y’)|| (20)
其中,A(x’)为像素点x’在序列图像A中的RGB值,B(x’)为像素点x’在序列图像B中的RGB值,A(y’)为像素点y’在序列图像A中的RGB值,B(y’)为像素点y’在序列图像B中的RGB值。
平滑项公式为:
Esmooth(x’,y’)=(Cg(x’)+Cg(y’))×Cc (21)
最后,马尔可夫随机场能量项通过α−expansion最小化以得到最优解,为每个三角面选择一张图像标签,并将对应纹理填充到三角形内,即可得到最终的拼接线。
本申请实施例,使用深度信息将拍摄图像投影到全景球上,减少影像间的错位问题,以及使用深度信息辅助360°全景影像拼接中拼接线的搜索,将深度信息引入能量函数的平滑项,使拼接线尽量经过场景中平缓区域及弱纹理区域,提升拼接线的质量,减少拼接结果中错位的发生。
进一步地,作为上述全景图像处理方法的具体实现,本申请实施例提供了一种全景图像处理装置。如图6所示,该全景图像处理装置600包括获取模块601、投影模块602以及拼接模块603。
获取模块601用于通过多个相机获取拍摄图像;投影模块602用于根据拍摄图像的像素点的深度值,将拍摄图像投影到全景球上,得到多个序列图像;拼接模块603用于根据拍摄图像的像素点的深度值和图像间的色彩差异度,在多个序列图像的拼接过程中进行拼接线的搜索,使拼接线经过拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成全景图像。
进一步地,投影模块602具体用于:获取各个相机的摄影中心的平均值,并将平均值作为全景球的球心;计算拍摄图像的像素点的深度值,以及计算像素点的投影点的球面坐标,并根据球面坐标计算像素点对应空间点的物方坐标;根据像素点对应空间点的物方坐标、相机的相机模型,将像素点投影到全景球,得到多个序列图像。
进一步地,拍摄图像的像素点的深度值为:
D(pi)=∑j∈Q’[wjD(pj)]
其中,pi为拍摄图像的第i个像素点,Q’为与pi相邻的n个像素点的集合,pj为与pi相邻的第j个像素点,wj为pj的权值系数,i、j均为正整数;球面坐标为:
Figure 711815DEST_PATH_IMAGE001
其中,q为球面坐标,像素点在图像坐标系下的平面坐标为(x,y),像素点在球坐标系中坐标为(r,θ,φ),θ为天顶角,θ=y/r,φ为方位角,φ=2π-x/r,r为全景球的半径,O为全景球的球心坐标。
进一步地,拼接模块603具体用于:获取全景球的深度图,以及根据相邻的两个序列图像,确定重叠区域深度图;将重叠区域深度图中所有的节点进行三角剖分得到三角网,将三角网上的每个三角面作为一个顶点、相邻的两个三角面构成一条边,以及为边添加权值,构造一个图结构,其中,节点为两个序列图像重叠区域的相同位置;根据像素点的深度值、色彩差异度以及图结构,确定马尔可夫随机场能量项的数据项和平滑项;计算马尔可夫随机场能量项的最优解,为每个三角面选择一张图像标签,并将对应纹理填充到三角形内,得到拼接线。
进一步地,拼接模块603具体用于:如果三角面在目标序列图像上可见,则目标序列图像对应的数据项设置为0,其中,目标序列图像为相邻的两个序列图像中的一个;如果三角面在目标序列图像上不可见,则目标序列图像对应的数据项设置为无穷值。
进一步地,拼接模块603具体用于:根据像素点的深度值和sobel算子,计算重叠区域深度图的每个像素点的深度梯度,并将深度梯度作为像素点的代价值;根据代价值计算每一对相邻的像素点的平滑能量代价值,以及计算每一对相邻的像素点的色彩差异度;根据平滑能量代价值和色彩差异度,计算平滑项。
进一步地,代价值为:
Cg=exp[(sobel(mX)2+sobel(mY)2)1/2]
其中,exp[]为平滑函数,sobel()为sobel算子,mX为X方向的深度梯度,mY为Y方向的深度梯度;平滑能量代价值E’=Cg(x’)+Cg(y’),x’、y’为一对相邻的像素点;色彩差异度Cc(A,B,x’,y’)=||A(x’)-B(x’)||+||A(y’)-B(y’)||,A(x’)为像素点x’在图像A中的RGB值,B(x’)为像素点x’在图像B中的RGB值,A(y’)为像素点y’在图像A中的RGB值,B(y’)为像素点y’在图像B中的RGB值,图像A为相邻的两个序列图像中的一个,图像B为另一个;平滑项Esmooth(x’,y’)=(Cg(x’)+Cg(y’))×Cc
进一步地,拼接模块603具体用于:根据色彩差异度和深度梯度,为边添加权值。
进一步地,拼接模块603还用于:根据拍摄场景,调节重叠区域深度图剖分得到的三角面的数量。
本申请实施例中的全景图像处理装置600可以是计算机设备,也可以是计算机设备中的部件,例如集成电路或芯片。示例性的,计算机设备可以为手机、拍摄设备、车载计算机设备、机器人、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(Personal Digital Assistant,PDA)等,本申请实施例不作具体限定。
本申请实施例中的全景图像处理装置600可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的全景图像处理装置600能够实现图1的全景图像处理方法实施例实现的各个过程,为避免重复,这里不再赘述。
本申请实施例还提供一种计算机设备,如图7所示,该计算机设备700包括处理器701和存储器702,存储器702上存储有可在处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述全景图像处理方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
存储器702可用于存储软件程序以及各种数据。存储器702可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器702可以包括易失性存储器或非易失性存储器,或者,存储器702可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器702包括但不限于这些和任意其它适合类型的存储器。
处理器701可包括一个或多个处理单元;可选的,处理器701集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述全景图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述全景图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例还提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述全景图像处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (7)

1.一种全景图像处理方法,其特征在于,包括:
通过多个相机获取拍摄图像;
根据所述拍摄图像的像素点的深度值,将所述拍摄图像投影到全景球上,得到多个序列图像;
根据所述拍摄图像的像素点的深度值和色彩差异度,在多个所述序列图像的拼接过程中进行拼接线的搜索,使所述拼接线经过所述拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成全景图像;
所述根据所述拍摄图像的像素点的深度值,将所述拍摄图像投影到全景球上,得到多个序列图像,包括:
获取各个所述相机的摄影中心的平均值,并将所述平均值作为所述全景球的球心;
计算所述拍摄图像的像素点的深度值,以及计算所述像素点的投影点的球面坐标,并根据所述球面坐标计算所述像素点对应空间点的物方坐标;
根据所述像素点对应空间点的物方坐标、所述相机的相机模型,将所述像素点投影到所述全景球,得到多个序列图像;
所述拍摄图像的像素点的深度值为:
D(pi)=∑j∈Q’[wjD(pj)]
其中,pi为所述拍摄图像的第i个像素点,D(pi)为所述第i个像素点的深度值,Q’为与pi相邻的n个像素点的集合,pj为与pi相邻的第j个像素点,D(pj)为所述第j个像素点的深度值,wj为pj的权值系数,i、j均为正整数;
所述球面坐标为:
Figure 197333DEST_PATH_IMAGE001
其中,q为所述球面坐标,所述像素点在图像坐标系下的平面坐标为(x,y),所述像素点在球坐标系中坐标为(r,θ,
Figure 456276DEST_PATH_IMAGE002
),θ为天顶角,θ=y/r,
Figure 427250DEST_PATH_IMAGE002
为方位角,
Figure 367524DEST_PATH_IMAGE002
=2π-x/r,r为所述全景球的半径,O为所述全景球的球心坐标;
所述根据所述拍摄图像的像素点的深度值和色彩差异度,在多个所述序列图像的拼接过程中进行拼接线的搜索,包括:
获取所述全景球的深度图,以及根据相邻的两个所述序列图像,确定重叠区域深度图;
将所述重叠区域深度图中所有的节点进行三角剖分得到三角网,将所述三角网上的每个三角面作为一个顶点,相邻的两个所述三角面构成一条边,以及为所述边添加权值,构造一个图结构,其中,所述节点为两个所述序列图像重叠区域的相同位置;
根据所述像素点的深度值、色彩差异度以及所述图结构,确定马尔可夫随机场能量项的数据项和平滑项;
计算所述马尔可夫随机场能量项的最优解,为每个所述三角面选择一张图像标签,并将对应纹理填充到所述三角面内,得到所述拼接线。
2.根据权利要求1所述的方法,其特征在于,所述确定马尔可夫随机场能量项的数据项,包括:
如果三角面在目标序列图像上可见,则所述目标序列图像对应的数据项设置为0,其中,所述目标序列图像为相邻的两个所述序列图像中的一个;
如果三角面在所述目标序列图像上不可见,则所述目标序列图像对应的数据项设置为无穷值。
3.根据权利要求1所述的方法,其特征在于,所述确定马尔可夫随机场能量项的平滑项,包括:
根据像素点的深度值和sobel算子,计算所述重叠区域深度图的每个像素点的深度梯度,并将所述深度梯度作为所述像素点的代价值;
根据所述代价值计算每一对相邻的所述像素点的平滑能量代价值,以及计算每一对相邻的所述像素点的色彩差异度;
根据所述平滑能量代价值和所述色彩差异度,计算所述平滑项。
4.根据权利要求3所述的方法,其特征在于,
所述代价值为:
Cg=exp[(sobel(mX)2+sobel(mY)2)1/2]
其中,exp[]为平滑函数,sobel()为所述sobel算子,mX为X方向的深度梯度,mY为Y方向的深度梯度;
所述平滑能量代价值E’=Cg(x’)+Cg(y’),x’、y’为一对相邻的像素点,Cg(x’)为像素点x’的代价值,Cg(y’)为像素点y’的代价值;
所述色彩差异度Cc(A,B,x’,y’)=||A(x’)-B(x’)||+||A(y’)-B(y’)||,A(x’)为像素点x’在图像A中的RGB值,B(x’)为像素点x’在图像B中的RGB值,A(y’)为像素点y’在图像A中的RGB值,B(y’)为像素点y’在图像B中的RGB值,所述图像A为相邻的两个所述序列图像中的一个,所述图像B为另一个;
所述平滑项Esmooth(x’,y’)=(Cg(x’)+Cg(y’))×Cc,Cc为像素点x’和像素点y’的色彩差异度。
5.根据权利要求3所述的方法,其特征在于,所述为所述边添加权值,包括:
根据所述色彩差异度和所述深度梯度,为所述边添加所述权值。
6.根据权利要求1所述的方法,其特征在于,还包括:
根据拍摄场景,调节所述重叠区域深度图剖分得到的所述三角面的数量。
7.一种全景图像处理装置,其特征在于,包括:
获取模块,用于通过多个相机获取拍摄图像;
投影模块,用于根据所述拍摄图像的像素点的深度值,将所述拍摄图像投影到全景球上,得到多个序列图像;
拼接模块,用于根据所述拍摄图像的像素点的深度值和色彩差异度,在多个所述序列图像的拼接过程中进行拼接线的搜索,使所述拼接线经过所述拍摄图像对应的拍摄场景的平缓区域及弱纹理区域,生成全景图像;
所述投影模块具体用于:获取各个所述相机的摄影中心的平均值,并将所述平均值作为所述全景球的球心;计算所述拍摄图像的像素点的深度值,以及计算所述像素点的投影点的球面坐标,并根据所述球面坐标计算所述像素点对应空间点的物方坐标;根据所述像素点对应空间点的物方坐标、所述相机的相机模型,将所述像素点投影到所述全景球,得到多个序列图像;
所述拍摄图像的像素点的深度值为:
D(pi)=∑j∈Q’[wjD(pj)]
其中,pi为所述拍摄图像的第i个像素点,D(pi)为所述第i个像素点的深度值,Q’为与pi相邻的n个像素点的集合,pj为与pi相邻的第j个像素点,D(pj)为所述第j个像素点的深度值,wj为pj的权值系数,i、j均为正整数;
所述球面坐标为:
Figure 156488DEST_PATH_IMAGE003
其中,q为所述球面坐标,所述像素点在图像坐标系下的平面坐标为(x,y),所述像素点在球坐标系中坐标为(r,θ,
Figure 55174DEST_PATH_IMAGE004
),θ为天顶角,θ=y/r,
Figure 500062DEST_PATH_IMAGE004
为方位角,
Figure 493295DEST_PATH_IMAGE004
=2π-x/r,r为所述全景球的半径,O为所述全景球的球心坐标;所述拼接模块具体用于:获取所述全景球的深度图,以及根据相邻的两个所述序列图像,确定重叠区域深度图;将所述重叠区域深度图中所有的节点进行三角剖分得到三角网,将所述三角网上的每个三角面作为一个顶点,相邻的两个所述三角面构成一条边,以及为所述边添加权值,构造一个图结构,其中,所述节点为两个所述序列图像重叠区域的相同位置;根据所述像素点的深度值、色彩差异度以及所述图结构,确定马尔可夫随机场能量项的数据项和平滑项;计算所述马尔可夫随机场能量项的最优解,为每个所述三角面选择一张图像标签,并将对应纹理填充到所述三角面内,得到所述拼接线。
CN202210682109.2A 2022-06-16 2022-06-16 一种全景图像处理方法和全景图像处理装置 Active CN114757834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210682109.2A CN114757834B (zh) 2022-06-16 2022-06-16 一种全景图像处理方法和全景图像处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210682109.2A CN114757834B (zh) 2022-06-16 2022-06-16 一种全景图像处理方法和全景图像处理装置

Publications (2)

Publication Number Publication Date
CN114757834A CN114757834A (zh) 2022-07-15
CN114757834B true CN114757834B (zh) 2022-09-27

Family

ID=82336527

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210682109.2A Active CN114757834B (zh) 2022-06-16 2022-06-16 一种全景图像处理方法和全景图像处理装置

Country Status (1)

Country Link
CN (1) CN114757834B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115861050A (zh) * 2022-08-29 2023-03-28 如你所视(北京)科技有限公司 用于生成全景图像的方法、装置、设备和存储介质
CN115984348A (zh) * 2022-12-13 2023-04-18 抖音视界有限公司 一种全景图像的处理方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10148939B2 (en) * 2016-07-19 2018-12-04 Gopro, Inc. Mapping of spherical image data into rectangular faces for transport and decoding across networks
CN111275750B (zh) * 2020-01-19 2022-05-13 武汉大学 基于多传感器融合的室内空间全景图像生成方法
CN111563950B (zh) * 2020-05-07 2023-04-21 如你所视(北京)科技有限公司 纹理映射策略确定方法、装置及计算机可读存储介质
CN114390262A (zh) * 2020-10-21 2022-04-22 中强光电股份有限公司 用于拼接三维球面全景影像的方法及电子装置
CN113191954B (zh) * 2021-06-11 2023-09-26 南京工程学院 一种基于双目相机的全景图像拼接方法

Also Published As

Publication number Publication date
CN114757834A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
Naseer et al. Deep regression for monocular camera-based 6-dof global localization in outdoor environments
CN114757834B (zh) 一种全景图像处理方法和全景图像处理装置
CN108230240B (zh) 一种基于深度学习获取图像城市范围内位置及姿态的方法
US20190102897A1 (en) Computer Vision Systems and Methods for Detecting and Modeling Features of Structures in Images
CN103985133B (zh) 基于图割能量优化的影像间最优拼接线寻找方法及系统
CN106228538B (zh) 基于logo的双目视觉室内定位方法
US20190012804A1 (en) Methods and apparatuses for panoramic image processing
CN111737518B (zh) 基于三维场景模型的图像展示方法、装置及电子设备
Barazzetti et al. True-orthophoto generation from UAV images: Implementation of a combined photogrammetric and computer vision approach
CN102959946A (zh) 基于相关3d点云数据来扩充图像数据的技术
CN114143528B (zh) 多视频流融合方法、电子设备、存储介质
Pang et al. SGM-based seamline determination for urban orthophoto mosaicking
Lentsch et al. Slicematch: Geometry-guided aggregation for cross-view pose estimation
Agrawal et al. PCE-SLAM: A real-time simultaneous localization and mapping using LiDAR data
CN112836698A (zh) 一种定位方法、装置、存储介质及电子设备
Zhan et al. A slam map restoration algorithm based on submaps and an undirected connected graph
CN116030136A (zh) 基于几何特征的跨视角视觉定位方法、装置和计算机设备
CN112750075A (zh) 一种低空遥感影像拼接方法以及装置
Wang et al. Real-time omnidirectional visual SLAM with semi-dense mapping
CN116363185B (zh) 地理配准方法、装置、电子设备和可读存储介质
Zhang et al. Line-based geometric consensus rectification and calibration from single distorted manhattan image
CN117095098A (zh) 图像渲染方法、装置、电子设备及计算机可读存储介质
CN111210476B (zh) 一种同时定位与建图的方法及装置
Bai et al. Visualization pipeline of autonomous driving scenes based on FCCR-3D reconstruction
Kim et al. Spherical PTAM: a versatile SLAM for spherical video

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant