CN116883305A - 全景图像拼接方法、电子设备及存储介质 - Google Patents
全景图像拼接方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116883305A CN116883305A CN202310892000.6A CN202310892000A CN116883305A CN 116883305 A CN116883305 A CN 116883305A CN 202310892000 A CN202310892000 A CN 202310892000A CN 116883305 A CN116883305 A CN 116883305A
- Authority
- CN
- China
- Prior art keywords
- image
- frame image
- current frame
- moving object
- stitching
- 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 87
- 230000003287 optical effect Effects 0.000 claims description 21
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 11
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 231100000289 photo-effect Toxicity 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种全景图像拼接方法、电子设备及存储介质,其中,上述全景图像拼接方法中,通过在获得先前帧图像和当前帧图像后,根据先前帧图像和当前帧图像确定出当前帧图像中的运动对象,进而根据该运动对象和拼接条件确定是将当前帧图像还是当前帧图像对应的背景图像作为与先前帧图像对应的全景拼接图像进行拼接待拼接图像,因与先前帧图像对应的全景拼接图像进行拼接时,可以根据拼接条件选择当前帧图像或当前帧图像对应的背景图像与先前帧图像对应的全景拼接图像进行拼接,故并不会呈现出与现有技术相同的移动物体的重影现象,从而提升全景图像的观感。
Description
技术领域
本申请实施例涉及图像处理技术,涉及但不限于一种全景图像拼接方法、电子设备及存储介质。
背景技术
全景拍照中,如果镜头前拍摄的物体有移动,拍出来的照片很容易出现重影或者变形,影响最后的成像效果,对于物体移动速度较快的场景也没法拍摄到合格的照片,例如流星雨等;而很多时候,拍摄镜头前的物体移动是不可避免的,导致最终的全景照片效果不尽如人意。
目前的全景拍照处理算法,通常是采用寻求上一帧图像与当前帧图像之间的重叠图像区域的最优拼接的方法来尽量减少重影现象。这个方法还是会存在重影,也不能保证移动物体在最终的全景图中有一个清晰的照片效果,甚至,移动物体以同样的速度一直跟随着镜头移动,可能会导致最终拍出来的全景图被移动物体所呈现的重影遮盖,失去全景拍照的意义。
发明内容
本申请实施例提供的一种全景图像拼接方法、电子设备及存储介质,能够防止全景图像中的重影现象,解决了现有技术中全景拍照不能处理运动物体的问题,提升了全景图像的图像显示效果。
第一方面,本申请实施例提供的全景图像拼接方法,所述方法包括:获得先前帧图像、当前帧图像以及所述先前帧图像对应的全景拼接图像;根据所述先前帧图像和所述当前帧图像,确定所述当前帧图像中的运动对象;根据所述当前帧图像中的运动对象和预设的拼接条件,确定待拼接图像,所述待拼接图像包括所述当前帧图像,或所述当前帧图像对应的背景图像,所述背景图像为所述当前帧图像去除所述运动对象后的图像;将所述待拼接图像与所述先前帧图像对应的全景拼接图像进行拼接,获得所述当前帧图像对应的全景拼接图像。
上述全景图像拼接方法中,通过在获得先前帧图像和当前帧图像后,根据先前帧图像和当前帧图像确定出当前帧图像中的运动对象,进而根据该运动对象和拼接条件确定是将当前帧图像还是当前帧图像对应的背景图像作为与先前帧图像对应的全景拼接图像进行拼接待拼接图像,因与先前帧图像对应的全景拼接图像进行拼接时,可以根据拼接条件选择当前帧图像或当前帧图像对应的背景图像与先前帧图像对应的全景拼接图像进行拼接,并不会每帧图像进行拼接时都使用原图进行拼接,减少了运动对象在全景拼接图像中的出现次数,故并不会呈现出与现有技术相同的移动物体的重影现象,从而提升全景图像的观感。
在一些实施例中,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:若所述当前帧图像中的运动对象满足所述拼接条件,则将所述当前帧图像确定为待拼接图像;若所述当前帧图像中的运动对象不满足所述拼接条件,则将所述背景图像确定为待拼接图像。
在一些实施例中,所述拼接条件包括所述当前帧图像中的运动对象位于边界区域内,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:检测所述运动对象在目标重叠区域中的位置信息,所述目标重叠区域为所述先前帧图像和所述当前帧图像的重叠图像区域;若所述运动对象位于所述目标重叠区域的边界区域内,则将所述当前帧图像确定为所述待拼接图像;若所述运动对象位于所述目标重叠区域的边界区域外,则将所述当前帧图像对应的背景图像确定为所述待拼接图像。
在一些实施例中,所述拼接条件包括所述当前帧图像对应的帧序号与预设的序号阈值一致;所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:判断所述当前帧图像对应的帧序号是否与所述序号阈值一致,所述当前帧图像对应的帧序号用于指示所述当前帧图像对应的图像采集顺序;若是,则将所述当前帧图像确定为所述待拼接图像;若否,则将所述当前帧图像对应的背景图像确定为所述待拼接图像;和/或,所述拼接条件包括所述当前帧图像对应的帧序号为预设的周期帧数的整数倍,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:检测所述当前帧图像对应的帧序号是否为所述周期帧数的整数倍,所述当前帧图像对应的帧序号用于指示所述当前帧图像对应的图像采集顺序;若是,则将所述当前帧图像确定为所述待拼接图像;若否,则将所述当前帧图像对应的背景图像确定为所述待拼接图像。
在一些实施例中,所述拼接条件包括当前帧图像为最后一帧图像,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:判断所述当前帧图像是否为采集的最后一帧图像;若是,将所述当前帧图像确定为所述待拼接图像;若否,则将所述当前帧图像对应的背景图像确定为所述待拼接图像。
在一些实施例中,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像之前,所述方法还包括:获得所述当前帧图像对应的特征数据,所述特征数据包括所述当前帧图像对应的掩膜图、光流图和置信图,所述掩膜图用于指示所述当前帧图像中像素值在预设的像素范围内的图像区域,所述光流图用于指示所述当前帧图像相较于所述先前帧图像的位移变化趋势,所述置信图用于指示所述当前帧图像中的多个对象发生移动的概率;将所述特征数据输入至预设的神经网络中,通过所述神经网络得到所述当前帧图像对应的背景图像和所述当前帧图像对应的运动对象图像,所述运动对象图像为仅包括所述运动对象的图像;其中,所述预设的神经网络根据样本图像集合训练得到,所述样本图像集合包括多组样本图像,每组样本图像包括原始样本图像、所述原始样本图像对应的背景图像和所述原始样本图像对应的运动对象图像。
在一些实施例中,所述根据所述先前帧图像和所述当前帧图像,确定所述当前帧图像中的运动对象,包括:获得目标重叠区域中的多个对象,所述目标重叠区域为所述先前帧图像和所述当前帧图像的重叠图像区域;确定各个所述对象在所述先前帧图像中的第一位置信息和在所述当前帧图像中的第二位置信息;若所述多个对象中的目标对象对应的第一位置信息与所述目标对象对应的第二位置信息之间的距离差值超出预设的距离阈值,则确定所述目标对象为所述运动对象。
第二方面,本申请实施例提供的电子设备,所述电子设备包括:图像获得模块,用于获得先前帧图像、当前帧图像以及所述先前帧图像对应的全景拼接图像;运动对象确定模块,用于根据所述先前帧图像和所述当前帧图像,确定所述当前帧图像中的运动对象;待拼接图像确定模块,用于根据所述当前帧图像中的运动对象和预设的拼接条件,确定待拼接图像,所述待拼接图像包括所述当前帧图像,或所述当前帧图像对应的背景图像,所述背景图像为所述当前帧图像去除所述运动对象后的图像;图像拼接模块,用于将所述待拼接图像与所述先前帧图像对应的全景拼接图像进行拼接,获得所述当前帧图像对应的全景拼接图像。
第三方面,本申请实施例提供的计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。
第四方面,本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。
应当理解的是,本申请实施例的第二~四方面与本申请实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为本申请实施例提供的全景拍摄的场景示例图;
图2为本申请实施例提供的电子设备的结构示意图;
图3为本申请实施例提供的一种全景图像拼接方法的流程示意图;
图4A为本申请实施例提供的先前帧图像的示意图;
图4B为本申请实施例提供的当前帧图像的示意图;
图4C为本申请实施例提供的待拼接图像为当前帧图像时的全景拼接图像的示意图;
图4D为本申请实施例提供的待拼接图像为背景图像时的全景拼接图像的示意图;
图5为本申请实施例提供的目标重叠区域的示意图;
图6A为本申请实施例提供的运动对象位于目标重叠区域的边界区域内的示意图;
图6B为本申请实施例提供的运动对象位于目标重叠区域的边界区域外的示意图;
图7为本申请实施例提供的一种全景图像拼接方法的流程示意图;
图8为本申请实施例提供的在感兴趣区中选取特征点的示意图;
图9为本申请实施例提供的对特征点进行光流分析的示意图;
图10为本申请实施例提供的一种全景图像拼接方法的实施流程示意图;
图11为本申请实施例提供的一种电子设备的结构示意图;
图12为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
全景拍照:把相机环360度移动拍摄的一组或多组照片拼接成一个全景图像,更广的取景范围使得照片本身能够容纳下更多的风景,不必再去进行后期的拼接。
全景拍摄中,设置相机在沿预设的拍摄路径上移动时,以一个固定的拍摄频率定时对景物进行图像采集,如图1所示,在采集到连续的两帧图像后,通过同一特征点分别在前一帧图像和后一帧图像上的映射关系,计算出相邻两帧图像的后一帧图像相对于前一帧图像的偏移距离,并将后一帧图像和前一帧图像的重叠图像区域进行融合叠加、拼接,得到拼接图像,伴随着相机的移动,不断采集图像,重复上述流程,对采集到的每一帧图像进行拼接融合,并在拼接了最后一帧图像后,输出最终的全景拼接图像。但该通过方法得到的全景拼接图像中,因每相邻两帧图像进行拼接时是直接融合了两帧图像的重叠图像区域,而移动物体在相邻两帧图像中的图像位置不同,导致移动物体在全景拼接图像中呈现出重影的效果。
有鉴于此,本申请实施例提供一种全景拼接方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备。例如,所述电子设备可以包括个人计算机、笔记本电脑、掌上电脑或服务器等;该电子设备还可以为移动终端,例如所述移动终端可以包括手机、车载电脑、平板电脑或投影仪等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
示例性地,如图2所示,电子设备10可以包括处理器101,外部存储器接口102,内部存储器103,通用串行总线(universal serial bus,USB)接口104,拍摄模组105,显示屏106和按键107。
可以理解的是,本申请实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。示例性的,处理器101可以是智能终端CPU,如Snapdragon系列处理器等。在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备10的结构限定。在本申请另一些实施例中,电子设备10也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备10通过GPU,显示屏106,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏106和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器101可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。显示屏106用于显示图像,视频等。
电子设备10可以通过ISP,拍摄模组105,视频编解码器,GPU,显示屏106以及应用处理器等实现拍摄功能。ISP用于处理拍摄模组105反馈的数据。拍摄模组105用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。一些实施例中,拍摄模组105可以为摄像头。
外部存储器接口102可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备10的存储能力。外部存储卡通过外部存储器接口102与处理器101通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器103可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器103可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备10使用过程中所创建的数据(比如音频数据,电话本等)等。
按键107包括开机键,音量键等。按键107可以是机械按键。也可以是触摸式按键。电子设备10可以接收按键输入,产生与电子设备10的用户设置以及功能控制有关的键信号输入。
另外,本申请实施例所涉及的电子设备,还可安装有操作系统,在该操作系统上可以安装运行应用程序,本申请实施例对此不做限定。
图3为本申请实施例提供的一种全景图像拼接方法的流程示意图。如图3所示,该方法可以包括以下步骤:
步骤S101,获得先前帧图像、当前帧图像以及先前帧图像对应的全景拼接图像。
应理解,上述先前帧图像可以是与当前帧图像相邻的一帧图像,也可以是与当前帧图像间隔若干帧的非相邻的一帧图像,当前帧图像可以是电子设备在当前时刻采集的一帧图像,也可以是电子设备在获得预先拍摄的视频流后在当前时刻从视频流中提取到的一帧图像。
在本申请实施例中,针对实时采集的多帧图像,或者预先拍摄的视频流中包含的多帧图像,除第一帧图像以外,均可按照本申请实施例所提供的全景拼接方法,生成各帧图像对应的全景拼接图像,每一帧图像对应的全景拼接图像,可将该帧图像的图像信息与在该帧图像之前的先前帧图像对应的全景拼接图像的图像信息进行融合。例如,第2帧图像所对应的全景拼接图像是将第2帧图像与第1帧图像所对应的全景拼接图像进行拼接得到的,其中,第1帧图像所对应的全景拼接图像为第1帧图像本身,第3帧图像所对应的全景拼接图像是将第3帧图像与第2帧图像所对应的全景拼接图像进行拼接得到的,依次类推。
应理解,上述先前帧图像对应的全景拼接图像为将先前帧图像进行拼接后得到的全景图像,例如,若前帧图像为第N帧图像,先前帧图像为第N-1帧图像,先前帧图像对应的全景拼接图像为前N-2帧图像所对应的全景拼接图像与第N-1帧图像拼接后得到的全景图像,此外,若先前帧图像为第一帧图像时,先前帧图像对应的全景拼接图像即为第一帧图像。
可选地,上述先前帧图像和当前帧图像可以是实时捕获,也可以是预先拍摄的视频流,并且相应地,获得先前帧图像和当前帧图像的方式可以包括但不限于:通过相机实时捕获全景视频,或者经由各种有线或无线传输介质从其他设备处接收预先拍摄的全景视频,并从该全景视频中提取出多帧图像。其中,上述全景视频中包括的单帧图像可以是由双目鱼眼相机或多镜头全景相机等捕获的一张图像中的一个局部图像区域,其中由双目鱼眼相机或多镜头全景相机等捕获的一张图像中包括多个局部图像区域,也可以是单镜头相机在沿着拍摄路径移动时以固定的拍摄频率拍摄得到的一帧图像。
可选地,上述全景帧图像可以是映射在一个球体表面上的球面图像,也可以是二维图像。其中,球面图像可以由双目鱼眼相机采集得到,二维图像可以由多镜头或单镜头相机采集得到。
步骤S102,根据先前帧图像和当前帧图像,确定当前帧图像中的运动对象。
应理解,上述当前帧图像中的运动对象为在当前帧图像中的位置相对于先前帧图像中的位置发生了偏移的对象。
可选地,上述运动对象可包括但不限于人、动物、植物、建筑等中的一种或多种事物。一些实施例中,该运动对象可以通过预设的神经网络得到,预设的神经网络用于检测运动对象,例如SSD(单个深度神经网络模型,Single Shot MultiBox Detector)、Yolo(一眼就能认出你模型,You Only look once),Deeplab(空洞卷积模型)。
可选地,上述运动对象的确定方式可以根据先前帧图像和当前帧图像拼接后的重影现象确定,例如,在将先前帧图像和当前帧图像叠加融合后,若某一对象在融合图像中产生了重影时,则确定该对象即为上述运动对象。
可选地,上述运动对象的确定方式可以包括以下步骤1~3:
步骤1,获得目标重叠区域中的多个对象,目标重叠区域为先前帧图像和当前帧图像的重叠图像区域;
步骤2,确定各个对象在先前帧图像中的第一位置信息和在当前帧图像中的第二位置信息;
步骤3,若确定多个对象中的目标对象对应的第一位置信息与目标对象对应的第二位置信息之间的距离差值超出预设的距离阈值,则确定目标对象为运动对象。
其中,上述距离阈值可以由本领域技术人员根据实际情况进行设置,本申请不做限制。上述方式中,通过计算各个对象对应的第一位置信息与第二位置信息之间的差值,可以识别出当前帧图像中的运动对象,从而可以进一步实现当前帧图像中运动对象与背景图像的分离。
步骤S103,根据当前帧图像中的运动对象和预设的拼接条件,确定待拼接图像,待拼接图像包括当前帧图像,或当前帧图像对应的背景图像,背景图像为当前帧图像去除运动对象后的图像。
可选地,上述背景图像可以通过预设的神经网络得到,预设的神经网络用于去除运动对象的神经网络,例如SSD(单个深度神经网络模型,Single Shot MultiBoxDetector)、Yolo(一眼就能认出你模型,You Only look once),Deeplab(空洞卷积模型)。一些实施例中,上述背景图像和运动对象的确定可以通过同一神经网络一起输出得到。
可选地,上述待拼接图像的确定过程可以为:
若当前帧图像中的运动对象满足拼接条件,则将当前帧图像确定为待拼接图像;
若当前帧图像中的运动对象不满足拼接条件,则将背景图像确定为待拼接图像。
可选地,上述拼接条件可以包括运动对象在先前帧图像和当前帧图像中的位置改变超出距离阈值、运动对象位于边界区域内、当前帧图像为采集的最后一帧图像、当前帧图像对应的帧序号与序号阈值一致和/或当前帧图像对应的帧序号为预设的周期帧数的整数倍等中的一种或多种,以确定当前与先前帧图像进行拼接的是当前帧图像还是当前帧图像对应的背景图像。
示例性地,以拼接条件为运动对象在先前帧图像和当前帧图像中的位置改变超出距离阈值为例,先前帧图像为第一帧图像,如图4A所示,当前帧图像如图4B所示,先前帧图像与当前帧图像中均存在人物A,若人物A在当前帧图像中的位置相较于先前帧图像发生的位置改变超出距离阈值,则确定当前帧图像中的运动对象满足拼接条件,进而确定当前帧图像为待拼接图像,将待拼接图像与先前帧图像对应的全景拼接图像进行拼接后,可以获得当前帧图像对应的全景拼接图像,如图4C所示;若人物A在当前帧图像中的位置相较于先前帧图像发生的位置改变未超出距离阈值,则确定当前帧图像中的运动对象不满足拼接条件,进而确定当前帧图像对应的背景图像为待拼接图像,将待拼接图像与先前帧图像对应的全景拼接图像进行拼接后,可以获得当前帧图像对应的全景拼接图像,如图4D所示。
由此,在当前帧图像中的运动对象满足拼接条件时,将当前帧图像确定为待拼接图像,以将包括运动对象的当前帧图像与先前帧图像对应的全景拼接图像进行拼接;在当前帧图像中的运动对象不满足拼接条件时,将背景图像确定为待拼接图像,以将不包括运动对象的当前帧图像与先前帧图像对应的全景拼接图像进行拼接,从而根据拼接条件确定此时需不需要将运动对象融合至当前帧图像对应的全景拼接图像中,避免在拼接每一帧图像都融合运动对象。
可选地,若上述拼接条件包括运动对象位于边界区域内,相应地,上述步骤S103可以包括以下步骤a1~a3:
步骤a1,检测运动对象在目标重叠区域中的位置信息,目标重叠区域为先前帧图像和当前帧图像的重叠图像区域;
步骤a2,若运动对象位于目标重叠区域的边界区域内,则将当前帧图像确定为待拼接图像;
步骤a3,若运动对象位于目标重叠区域的边界区域外,则将当前帧图像对应的背景图像确定为待拼接图像。
可选地,上述目标重叠区域的确定方式可以通过计算得到当前帧图像相对于先前帧图像的单应性矩阵,并利用单应性矩阵计算得到目标重叠区域。其中,因在全景拍摄过程中使用的是同一个相机,所以针对先前帧图像和当前帧图像,相机的内参是相同的,故单应性矩阵的计算方法可以包括以下步骤:
假设单应性矩阵H为图像上同一特征点X在先前帧图像上的位置坐标为(x1,y1,1),在当前帧图像上的位置坐标为(x2,y2,1),则单应性矩阵H与特征点X之间具有以下关系:
将上面的矩阵展开成方程的形式:
(h7x1+h8x1+1)x2=h1x1+h2x1+h3
(h7x1+h8x1+1)y2=h4x1+h5x1+h6
即转换为Ah=0的形式后,形成如下等式:
由于上述等式为一个线性齐次方程,等号右边为零矩阵,故可将Ah=0等式转换为A=UΣVT等式后使用奇异值分解,得到的最小奇异值对应的向量就是单应性矩阵。其中,U是m×n阶正交矩阵,V是与n×m阶正交矩阵,Σ为对角矩阵diag(a1,a2,...,ar,0,...,0),对角矩阵中的对角元素(a1,a2,...,ar)为矩阵A的奇异值,此时我们按照从大到小的顺序重新排列Σ对角上的值(此时U和V也要跟着一起变化),最终我们要求的单应性矩阵就是V矩阵中的与排列后的最小奇异值min(a1,a2,...,ar)对应的向量,也就是最右边的一个列向量。
应理解,上述边界区域为距离目标重叠区域的边界线在预设距离范围内的区域,其中,目标重叠区域的边界线为目标重叠区域的所有边界点所围成的线。
可选地,上述预设距离范围的具体数值由本领域技术人员根据实际需求进行设置,本申请不做限制。
可选地,上述运动对象位于目标重叠区域的边界区域外可以包括运动对象的部分位于边界区域的边界线上的情况,也可以包括运动对象完全位于边界区域外的情况,例如,如图5所示,当前帧图像相较于先前帧图像具有目标重叠区域A,目标重叠区域A的边界区域包括距离目标重叠区域的最小x轴坐标在预设距离范围内的左边界区域和距离目标重叠区域的最大x轴坐标在预设距离范围内的右边界区域,左边界区域包括x轴坐标为目标重叠区域的最小x轴坐标的第一左边界线和x轴坐标为最小x轴坐标与预设距离范围的最大值之和的第一右边界线,右边界区域包括x轴坐标为目标重叠区域的最大x轴坐标的第二右边界线和x轴坐标为最大x轴坐标与预设距离范围的最大值之差的第二右边界线。当运动对象的部分位于边界区域的边界线上时,该运动对象可以覆盖第一左边界线、第一右边界线、第二左边界线或第二右边界线中的任意一个边界线;当运动对象完全位于边界区域外时,该运动对象可以位于第一右边界线和第二左边界线之间的任意图像区域上。相应地,运动对象位于目标重叠区域的边界区域内指的是运动对象完全位于边界区域内,具体由本领域技术人员根据需求进行设置,本申请不做限制。
可选地,上述运动对象位于目标重叠区域的边界区域内可以包括运动对象的部分位于边界区域的边界线上的情况,也可以包括运动对象完全位于边界区域内的情况,例如,如图5所示,当运动对象的部分位于边界区域的边界线上时,该运动对象可以覆盖第一左边界线、第一右边界线、第二左边界线或第二右边界线中的任意一个边界线;当运动对象完全位于边界区域内时,该运动对象可以位于第一左边界线和第一右边界线之间的任意图像区域上,也可以位于第二左边界线和第二右边界线之间的任意图像区域上。相应地,运动对象位于目标重叠区域的边界区域外指的是运动对象完全位于边界区域外,具体由本领域技术人员根据需求进行设置,本申请不做限制。
示例性地,先前帧图像如图4A所示,当前帧图像如图4B所示,先前帧图像与当前帧图像中均存在人物A,若人物A在当前帧图像中的位置处于目标重叠区域的边界区域内,如图6A所示,目标重叠区域如图6A中的填色区域,则确定当前帧图像中的运动对象满足拼接条件,进而确定当前帧图像为待拼接图像;若人物A在当前帧图像中的位置处于目标重叠区域的边界区域外,如图6B所示,则确定当前帧图像中的运动对象不满足拼接条件,进而确定当前帧图像对应的背景图像为待拼接图像。
由此,根据运动对象在目标重叠区域中的位置信息,可以在运动对象位于目标重叠区域的边界区域内,即运动对象可能会在下一时刻移动至相机的视场范围外,导致相机采集的下一帧图像中不存在运动对象时,在当前帧图像中保留运动对象,以反应出运动对象在拍摄当前帧图像时存在过的情况。
可选地,若上述拼接条件包括当前帧图像对应的帧序号与序号阈值一致,相应地,上述步骤S103可以包括以下步骤a4~a6:
步骤a4,判断当前帧图像对应的帧序号是否与序号阈值一致,当前帧图像对应的帧序号用于指示当前帧图像对应的图像采集顺序;
步骤a5,若是,则将当前帧图像确定为待拼接图像;
步骤a6,若否,则将当前帧图像对应的背景图像确定为待拼接图像。
应理解,每一帧图像可对应有帧序号,以指示在采集每一帧图像时的图像采集顺序,例如,先前帧图像为第一帧图像,当前帧图像为第二帧图像时,则在采集得到先前帧图像时,会在先前帧图像对应的图像信息中写入内容为1的帧序号,在采集得到当前帧图像时,会在当前帧图像对应的图像信息中写入内容为2的帧序号。
可选地,上述序号阈值的具体数值可以按需设计,例如上述序号阈值可以为全景拼接图像的最大拼接帧数,当当前帧图像对应的帧序号与序号阈值一致时,认定当前帧图像为全景拼接图像对应的待拼接图像的最后一帧,在完成当前帧图像对应的全景拼接图像的拼接后,不再对当前的全景拼接图像进行拼接,以在全景拼接图像的最后一帧拼接图像中保留运动对象。
示例性地,序号阈值为N,先前帧图像如图4A所示,当前帧图像如图4B所示,先前帧图像与当前帧图像中均存在人物A,若当前帧图像对应的帧序号也为N,与序号阈值一致,则确定当前帧图像中的运动对象满足拼接条件,进而确定当前帧图像为待拼接图像;若当前帧图像对应的帧序号也为M,与序号阈值不一致,则确定当前帧图像中的运动对象不满足拼接条件,进而确定当前帧图像对应的背景图像为待拼接图像。
由此,用户可以通过设定序号阈值,以保留与序号阈值一致的帧序号对应的当前帧图像的全部内容,从而反应出在帧序号为序号阈值时的运动对象的情况。
可选地,若上述拼接条件包括当前帧图像对应的帧序号为预设的周期帧数的整数倍,相应地,上述步骤S103可以包括以下步骤a7~a9:
步骤a7,判断当前帧图像对应的帧序号是否为预设的周期帧数的整数倍,当前帧图像对应的帧序号用于指示当前帧图像对应的图像采集顺序;
步骤a8,若是,则将当前帧图像确定为待拼接图像;
步骤a9,若否,则将当前帧图像对应的背景图像确定为待拼接图像。
可选地,上述周期帧数的具体数值由本领域技术人员根据实际需求进行设置,本申请不做限制。
示例性地,以周期帧数为4为例,若当前帧图像对应的帧序号为4的整数倍,例如4,8,12,16,20…时,则确定当前帧图像中的运动对象满足拼接条件,进而确定当前帧图像为待拼接图像;若当前帧图像对应的帧序号不是4的整数倍,则确定当前帧图像中的运动对象不满足拼接条件,进而确定当前帧图像对应的背景图像为待拼接图像。
由此,用户可以通过设定周期帧数,以保留与周期帧数呈整数倍的帧序号对应的当前帧图像的全部内容,从而周期性反应出运动对象的情况,最终形成具有表征运动对象的运动效果的全景拼接图像。
可选地,若上述拼接条件包括当前帧图像为采集的最后一帧图像,相应地,上述步骤S103可以包括以下步骤a10~a12:
步骤a10,判断当前帧图像是否为采集的最后一帧图像;
步骤a11,若是,则将当前帧图像确定为待拼接图像;
步骤a12,若否,则将当前帧图像对应的背景图像确定为待拼接图像。
可选地,上述判断当前帧图像是否为采集的最后一帧图像的方式可以为判断是否接收到停止拍摄指令,若接收到停止拍摄指令,则确定该当前帧图像为最后一帧图像。其中,该停止拍摄指令可以是响应于针对停止拍摄按键的操作指令而生成,其中,停止拍摄按键可以为电子设备的任意一个或多个物理按键,也可以是虚拟按键。一些实施例中,上述针对停止拍摄按键的操作指令可以包括按键时长,例如,当用户按下该停止拍摄按键达到特定时间后,才会生成停止拍摄信号,以避免误触;上述停止拍摄信号也可以为停止拍摄滑动指令,其中停止拍摄滑动指令为电子设备在处于拍摄界面下对应的特定滑动轨迹,例如在拍摄界面下的上滑、下滑、左滑或右滑等。
可选地,上述判断当前帧图像是否为采集的最后一帧图像的方式也可以为在采集到当前帧图像时开启计时,若计时时长超过时长阈值时未采集到下一帧图像,则确定该当前帧图像为最后一帧图像。
由此,可以在当前帧图像为采集的最后一帧图像时,保留运动对象在当前帧图像中的位置,以反应运动对象在本次拍摄的全景拼接图像中存在过。
步骤S104,将待拼接图像与先前帧图像对应的全景拼接图像进行拼接,获得当前帧图像对应的全景拼接图像。
可选地,上述将待拼接图像与先前帧图像对应的全景拼接图像进行拼接的具体方式可以采用常用技术手段,此处不再赘述。
上述全景图像拼接方法中,通过在获得先前帧图像和当前帧图像后,根据先前帧图像和当前帧图像确定出当前帧图像中的运动对象,进而根据该运动对象和拼接条件确定是将当前帧图像还是当前帧图像对应的背景图像作为与先前帧图像对应的全景拼接图像进行拼接待拼接图像,因与先前帧图像对应的全景拼接图像进行拼接时,可以根据拼接条件选择当前帧图像或当前帧图像对应的背景图像与先前帧图像对应的全景拼接图像进行拼接,并不会每帧图像进行拼接时都使用原图进行拼接,减少了运动对象在全景拼接图像中的出现次数,故并不会呈现出与现有技术相同的移动物体的重影现象,从而提升全景图像的观感。
图7为本申请实施例提供的一种全景图像拼接方法的流程示意图。如图7所示,该方法可以包括以下步骤:
步骤S201,获得先前帧图像、当前帧图像以及先前帧图像对应的全景拼接图像。
步骤S202,根据先前帧图像和当前帧图像,确定当前帧图像中的运动对象。
上述步骤S201~步骤S202的执行方式可以与上述步骤S101~步骤S102的执行方式一致,此处不再赘述。
步骤S203,获得当前帧图像对应的特征数据,特征数据包括当前帧图像对应的掩膜图、光流图和置信图,其中,掩膜图用于指示当前帧图像中像素值在预设的像素范围内的图像区域,光流图用于指示当前帧图像相较于先前帧图像的特征点的位移变化趋势,置信图用于指示当前帧图像中的多个对象发生移动的概率。
可选地,在获得当前帧图像对应的特征数据之前,可以将当前帧图像进行灰度化处理,例如,通过以下公式进行灰度化处理:
I=0.299R+0.587G+0.114B
其中,RGB三个分量的系数来源于现有技术中的RGB颜色空间转YUV颜色空间的转换方程。
可选地,上述掩膜图可以通过设置感兴趣区域获得,例如,为避免采集到的图像中的边角处的对象过多对分析效率产生干扰,影响结果的正确性,须设置一个感兴趣区(ROI),该区域可以仅仅包含正中间的矩形部分的图像区域。一些实施例中,可以在图像帧的特定位置选取与坐标轴平行的矩形框作为ROI,以确保刚好包含正中间的图像区域即可。
可选地,上述光流图可以通过计算先前帧图像与当前帧图像中的特征点的位移来获得,具体可以包括以下步骤c1~c2:
步骤c1,获得先前帧图像与当前帧图像中的特征点,该特征点可以为角点。提取角点的方法可以为:计算每一个像素的邻域的一阶导数自相关矩阵的特征值,特征值大的像素点优先被选取为角点。图8为本发明实施例在感兴趣区中选取特征点的示意图,如图8所示,计算角点采用的邻域的尺度为3*3,特征点的数量不宜过少或者过多,对于1920*1080的图像,一般为50~500比较合适。
步骤c2,基于上述特征点,运用光流法(Optical Flow)分析这些特征点在当前帧图像中相对于先前帧图像中位置的位移。一些实施例中,为了提高特征点跟踪的正确率以及计算速度,以及克服帧间运动的不连续性,可以使用基于图像金字塔结构的光流法,金字塔的类型不做限制,金字塔的层数不做限制。图9为本发明实施例对特征点进行光流分析的示意图,如图9所示,当前帧图像和先前帧图像均包括多个特征点,每个特征点从先前帧图像运动到当前帧图像,光流方向不一,大致偏向水平方向或者与水平方向之间存在夹角。
可选地,上述置信图可以对上述特征点的位移进行方向判定,得到各相邻帧间各个目标为运动对象的概率值。对上述位移进行方向判定,可以确定出光流方向与先验方向偏离较大的位移数据,偏离越大,表明该对象为运动对象的概率值越大。其中,先验方向由相机在采集视频序列时摆放的方向确定,例如,相机在采集视频序列时移动的方向是水平方向,故光流的先验方向为水平方向,运动方向明显偏离这一先验方向的位移数据可被认为为该运动对象,运动方向与先验方向一致的可被认为为因相机移动而产生相对位移的对象。
步骤S204,将特征数据输入至预设的神经网络中,通过神经网络得到当前帧图像对应的背景图像和当前帧图像对应的运动对象图像,其中,上述预设的神经网络根据样本图像集合训练得到,样本图像集合包括多组样本图像,每组样本图像包括原始样本图像、原始样本图像对应的背景图像和原始样本图像对应的运动对象图像。
可选地,上述神经网络可以为omnimate网络。
步骤S205,将待拼接图像与先前帧图像对应的全景拼接图像进行拼接,获得当前帧图像对应的全景拼接图像。
上述全景图像拼接方法中,通过计算得到当前帧图像对应的掩膜图、光流图和置信图,以将当前帧图像中的背景图像和运动对象进行分离,获得背景图像和运动对象图像,从而方便后续的与先前帧图像的拼接步骤,提高拼接效率。
图10为本申请实施例提供的一种全景图像拼接方法的实施流程示意图,如图10所示,该方法可以包括以下步骤1~9:
步骤1,全景拍照的第一帧图像通常当做基准图,不做处理。
步骤2,从第二帧图像开始,以前一帧图像作为基准图像,基于全景图像的单应矩阵,检测当前帧图像与前一帧图像之间的重叠区域图像中是否存在动态物体。
步骤3,若未发现有动态物体,则直接将当前帧图像作为待拼接图像输出。
步骤4,若发现有动态物体,则计算得到当前帧图像对应的掩膜图、光流图、置信地图等,将掩膜图、光流图、置信地图输入到omnimate网络中,分别得到照片中的背景图和运动物体图。
步骤5,检测运动物体是否处于图像边界区域或当前帧图像为待拼接的最后一帧。
步骤6,如果运动物体接近重叠图像边界或是当前帧图像为待拼接的最后一帧,则将当前帧图像作为待拼接图像输出。
步骤7,如果运动物体持续地还位于照片中部或者当前帧图像不是待拼接的最后一帧,则将当前帧图像对应的背景图作为待拼接图像输出。
步骤8,将待拼接图像与前一帧图像对应的全景拼接图像进行拼接,得到当前帧图像对应的全景拼接图像。
步骤9,若前一帧图像为待拼接的最后一帧,则输出当前帧图像对应的全景拼接图像。
应该理解的是,虽然图1-10中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于前述的实施例,本申请实施例提供一种电子设备,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图11为本申请实施例提供的一种电子设备的结构示意图,如图11所示,电子设备可以包括:
图像获得模块1001,用于获得先前帧图像、当前帧图像以及先前帧图像对应的全景拼接图像;
运动对象确定模块1002,用于根据先前帧图像和当前帧图像,确定当前帧图像中的运动对象;
待拼接图像确定模块1003,用于根据当前帧图像中的运动对象和预设的拼接条件,确定待拼接图像,待拼接图像包括当前帧图像,或当前帧图像对应的背景图像,背景图像为当前帧图像去除运动对象后的图像;
图像拼接模块1004,用于将待拼接图像与先前帧图像对应的全景拼接图像进行拼接,获得当前帧图像对应的全景拼接图像。
在一些实施例中,上述待拼接图像确定模块1003可以包括:
第一图像确定子模块,用于若当前帧图像中的运动对象满足拼接条件,则将当前帧图像确定为待拼接图像;
第二图像确定子模块,用于若当前帧图像中的运动对象不满足拼接条件,则将背景图像确定为待拼接图像。
在一些实施例中,上述待拼接图像确定模块1003可以包括:
位置信息检测子模块,用于检测运动对象在目标重叠区域中的位置信息,目标重叠区域为先前帧图像和当前帧图像的重叠图像区域;
第一图像确定子模块,具体用于若运动对象位于目标重叠区域的边界区域内,则将当前帧图像确定为待拼接图像;
第二图像确定子模块,具体用于若运动对象位于目标重叠区域的边界区域外,则将当前帧图像对应的背景图像确定为待拼接图像。
在一些实施例中,上述待拼接图像确定模块1003可以包括:
帧序号判断子模块,用于判断当前帧图像对应的帧序号是否与序号阈值一致,当前帧图像对应的帧序号用于指示当前帧图像对应的图像采集顺序;
第一图像确定子模块,具体用于若是,则将当前帧图像确定为待拼接图像;
第二图像确定子模块,具体用于若否,则将当前帧图像对应的背景图像确定为待拼接图像。
在一些实施例中,上述待拼接图像确定模块1003可以包括:
帧序号检测子模块,用于检测当前帧图像对应的帧序号是否为周期帧数的整数倍,当前帧图像对应的帧序号用于指示当前帧图像对应的图像采集顺序;
第一图像确定子模块,具体用于若是,则将当前帧图像确定为待拼接图像;
第二图像确定子模块,具体用于若否,则将当前帧图像对应的背景图像确定为待拼接图像。
在一些实施例中,上述电子设备还可以包括:
特征数据获得模块,用于在根据当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像之前,获得当前帧图像对应的特征数据,特征数据包括当前帧图像对应的掩膜图、光流图和置信图,掩膜图用于指示当前帧图像中像素值在预设的像素范围内的图像区域,光流图用于指示当前帧图像相较于先前帧图像的亮度变化趋势,置信图用于指示当前帧图像中的多个对象;
神经网络输出模块,用于将特征数据输入至预设的神经网络中,通过神经网络得到当前帧图像对应的背景图像和当前帧图像对应的运动对象图像,运动对象图像为仅包括运动对象的图像;
其中,预设的神经网络根据样本图像集合训练得到,样本图像集合包括多组样本图像,每组样本图像包括原始样本图像、原始样本图像对应的背景图像和原始样本图像对应的运动对象图像。
在一些实施例中,上述运动对象确定模块1002可以包括:
对象获得子模块,用于获得目标重叠区域中的多个对象,目标重叠区域为先前帧图像和当前帧图像的重叠图像区域;
位置信息确定子模块,用于确定各个对象在先前帧图像中的第一位置信息和在当前帧图像中的第二位置信息;
距离差值判断子模块,用于若多个对象中的目标对象对应的第一位置信息与目标对象对应的第二位置信息之间的距离差值超出预设的距离阈值,则确定目标对象为运动对象。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图11所示的电子设备对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种全景图像拼接方法。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的全景图像拼接方法可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该采样装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的全景图像拼接方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种全景图像拼接方法,其特征在于,所述方法包括:
获得先前帧图像、当前帧图像以及所述先前帧图像对应的全景拼接图像;
根据所述先前帧图像和所述当前帧图像,确定所述当前帧图像中的运动对象;
根据所述当前帧图像中的运动对象和预设的拼接条件,确定待拼接图像,所述待拼接图像包括所述当前帧图像,或所述当前帧图像对应的背景图像,所述背景图像为所述当前帧图像去除所述运动对象后的图像;
将所述待拼接图像与所述先前帧图像对应的全景拼接图像进行拼接,获得所述当前帧图像对应的全景拼接图像。
2.如权利要求1所述的方法,其特征在于,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:
若所述当前帧图像中的运动对象满足所述拼接条件,则将所述当前帧图像确定为待拼接图像;
若所述当前帧图像中的运动对象不满足所述拼接条件,则将所述背景图像确定为待拼接图像。
3.如权利要求2所述的方法,其特征在于,所述拼接条件包括当前帧图像中的运动对象位于边界区域内,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:
检测所述运动对象在目标重叠区域中的位置信息,所述目标重叠区域为所述先前帧图像和所述当前帧图像的重叠图像区域;
若所述运动对象位于所述目标重叠区域的边界区域内,则将所述当前帧图像确定为所述待拼接图像;
若所述运动对象位于所述目标重叠区域的边界区域外,则将所述当前帧图像对应的背景图像确定为所述待拼接图像。
4.如权利要求2所述的方法,其特征在于,所述拼接条件包括当前帧图像对应的帧序号与预设的序号阈值一致,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:
判断所述当前帧图像对应的帧序号是否与所述序号阈值一致,所述当前帧图像对应的帧序号用于指示所述当前帧图像对应的图像采集顺序;
若是,则将所述当前帧图像确定为所述待拼接图像;
若否,则将所述当前帧图像对应的背景图像确定为所述待拼接图像;
和/或,
所述拼接条件包括当前帧图像对应的帧序号为预设的周期帧数的整数倍,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:
检测所述当前帧图像对应的帧序号是否为所述周期帧数的整数倍,所述当前帧图像对应的帧序号用于指示所述当前帧图像对应的图像采集顺序;
若是,则将所述当前帧图像确定为所述待拼接图像;
若否,则将所述当前帧图像对应的背景图像确定为所述待拼接图像。
5.如权利要求2所述的方法,其特征在于,所述拼接条件包括当前帧图像为采集的最后一帧图像,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像,包括:
判断所述当前帧图像是否为采集的最后一帧图像;
若是,则将所述当前帧图像确定为所述待拼接图像;
若否,则将所述当前帧图像对应的背景图像确定为所述待拼接图像。
6.如权利要求1~5任一项所述的方法,其特征在于,所述根据所述当前帧图像中的运动对象和预设的拼接条件,获得待拼接图像之前,所述方法还包括:
获得所述当前帧图像对应的特征数据,所述特征数据包括所述当前帧图像对应的掩膜图、光流图和置信图,所述掩膜图用于指示所述当前帧图像中像素值在预设的像素范围内的图像区域,所述光流图用于指示所述当前帧图像相较于所述先前帧图像的位移变化趋势,所述置信图用于指示所述当前帧图像中的多个对象发生移动的概率;
将所述特征数据输入至预设的神经网络中,通过所述神经网络得到所述当前帧图像对应的背景图像和所述当前帧图像对应的运动对象图像,所述运动对象图像为仅包括所述运动对象的图像;
其中,所述预设的神经网络根据样本图像集合训练得到,所述样本图像集合包括多组样本图像,每组样本图像包括原始样本图像、所述原始样本图像对应的背景图像和所述原始样本图像对应的运动对象图像。
7.如权利要求1~5任一项所述的方法,其特征在于,所述根据所述先前帧图像和所述当前帧图像,确定所述当前帧图像中的运动对象,包括:
获得目标重叠区域中的多个对象,所述目标重叠区域为所述先前帧图像和所述当前帧图像的重叠图像区域;
确定各个所述对象在所述先前帧图像中的第一位置信息和在所述当前帧图像中的第二位置信息;
若所述多个对象中的目标对象对应的第一位置信息与所述目标对象对应的第二位置信息之间的距离差值超出预设的距离阈值,则确定所述目标对象为所述运动对象。
8.一种电子设备,其特征在于,所述电子设备包括:
图像获得模块,用于获得先前帧图像、当前帧图像以及所述先前帧图像对应的全景拼接图像;
运动对象确定模块,用于根据所述先前帧图像和所述当前帧图像,确定所述当前帧图像中的运动对象;
待拼接图像确定模块,用于根据所述当前帧图像中的运动对象和预设的拼接条件,确定待拼接图像,所述待拼接图像包括所述当前帧图像,或所述当前帧图像对应的背景图像,所述背景图像为所述当前帧图像去除所述运动对象后的图像;
图像拼接模块,用于将所述待拼接图像与所述先前帧图像对应的全景拼接图像进行拼接,获得所述当前帧图像对应的全景拼接图像。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892000.6A CN116883305A (zh) | 2023-07-19 | 2023-07-19 | 全景图像拼接方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310892000.6A CN116883305A (zh) | 2023-07-19 | 2023-07-19 | 全景图像拼接方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116883305A true CN116883305A (zh) | 2023-10-13 |
Family
ID=88269573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310892000.6A Pending CN116883305A (zh) | 2023-07-19 | 2023-07-19 | 全景图像拼接方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116883305A (zh) |
-
2023
- 2023-07-19 CN CN202310892000.6A patent/CN116883305A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109242961B (zh) | 一种脸部建模方法、装置、电子设备和计算机可读介质 | |
KR20230013243A (ko) | 프레임에서 타겟 오브젝트를 위한 고정된 크기 유지 | |
CN109076159B (zh) | 电子设备及其操作方法 | |
CN109218663B (zh) | 图像处理设备、图像处理方法和存储介质 | |
CN107395957B (zh) | 拍照方法、装置、存储介质及电子设备 | |
CN116324878A (zh) | 针对图像效果的分割 | |
CN110766706A (zh) | 图像融合方法、装置、终端设备及存储介质 | |
WO2022160857A1 (zh) | 图像处理方法及装置、计算机可读存储介质和电子设备 | |
JP7223079B2 (ja) | 画像処理装置およびその制御方法、ならびに撮像装置 | |
CN114339102B (zh) | 一种录像方法及设备 | |
JP2013061850A (ja) | ノイズ低減のための画像処理装置及び画像処理方法 | |
CN112689221A (zh) | 录音方法、录音装置、电子设备及计算机可读存储介质 | |
CN110717452B (zh) | 图像识别方法、装置、终端及计算机可读存储介质 | |
CN108574803B (zh) | 图像的选取方法、装置、存储介质及电子设备 | |
CN112954212A (zh) | 视频生成方法、装置及设备 | |
CN109981989B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
JP2015036841A (ja) | 画像処理装置、距離計測装置、撮像装置、画像処理方法 | |
CN115049548A (zh) | 恢复从阵列相机获得的图像的方法和装置 | |
CN115004685A (zh) | 电子装置和用于在电子装置处显示图像的方法 | |
CN111080683B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN115908120B (zh) | 图像处理方法和电子设备 | |
CN115633262B (zh) | 图像处理方法和电子设备 | |
US20240129446A1 (en) | White Balance Processing Method and Electronic Device | |
CN117132515A (zh) | 一种图像处理方法及电子设备 | |
CN116883305A (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 |