掌桥专利:专业的专利平台
掌桥专利
首页

输出虚拟相机运镜路径的方法、装置及电子设备

文献发布时间:2023-06-19 19:27:02


输出虚拟相机运镜路径的方法、装置及电子设备

技术领域

本发明属于装修设计工具和计算机可视化交互技术领域,具体涉及输出虚拟相机运镜路径的方法、装置及电子设备。

背景技术

目前常见的装修设计平台软件中,制作展示视频的功能均缺少自动运镜的方法,用户需要根据设计经验通过可视化的界面手动调整相机,得到一个相对合理的展示商品或空间的运镜。

目前用户手动调整相机运镜存在两个问题,一是由于运镜的类型较多多,缺少设计经验的用户调整出一个理想的运镜比较困难,二是有经验的设计师日常设计中,也要花费比较多的时间在调整相机和路径上,影响生产效率。

发明内容

鉴于现有技术中的问题,本申请各实施例提供输出虚拟相机运镜路径的方法、装置及电子设备。

第一方面,在本申请的一个实施例中,提供了一种虚拟相机运镜展示方法,该方法包括:

获取虚拟相机;

S102、确定虚拟相机的运镜类型和距离;

S103、使用所述虚拟相机生成第一路径,所述第一路径根据虚拟相机的初始位置、运镜类型和距离生成;

S104、判断第一路径是否被遮挡,若第一路径未被遮挡则将第一路径作为运镜路径输出;

S105、若第一路径被遮挡,则对第一路径进行调整生成第二路径;

S106、判断第二路径是否被遮挡,若第二路径未被遮挡则将第二路径作为运镜路径输出;

S107、若第二路径被遮挡,则对第二路径进行裁剪处理形成第三路径;

S108、判断第三路径是否符合长度预设条件,若是,则将其作为运镜路径输出。

在一可能的实施例中,对第一路径进行调整生成第二路径包括:

裁剪掉所述遮挡路径,向被剪掉的遮挡路径的另一端延伸第一长度的路径。

在一可能的实施例中,所述长度预设条件是预设的长度范围。

在一可能的实施例中,获取虚拟相机包括:

获得展示商品或空间的虚拟相机列表,从所述虚拟相机列表中获取一虚拟相机。

进一步,对第二路径进行裁剪处理形成第三路径包括:裁剪掉遮挡部分的路径。

进一步,若第三路径不满足长度预设条件,则记录该第三路径;

判断虚拟相机列表中是否还有未使用过的虚拟相机,若是,则选择虚拟相机列表中的一个未使用过的虚拟相机,返回S101;若否,则将记录的第三路径作为运镜路径输出。

在一可能的实施例中,还包括:

S112、控制虚拟相机沿运镜路径运镜。

第二方面,在本申请的一实施例中,提供了一种输出虚拟相机运镜路径的装置,包括:

虚拟相机获取模块,用于获取虚拟相机,以及确定虚拟相机的运镜类型和距离;

运镜路径生成模块,用于根据虚拟相机的初始位置、运镜类型和距离生成虚拟相机的第一路径;判断第一路径是否被遮挡,若第一路径未被遮挡则将第一路径作为运镜路径输出;若第一路径被遮挡,则对第一路径进行调整生成第二路径;判断第二路径是否被遮挡,若第二路径未被遮挡则将第二路径作为运镜路径输出;若第二路径被遮挡,则对第二路径进行裁剪处理形成第三路径;判断第三路径是否符合长度预设条件,若是,则将其作为运镜路径输出。

第三方面,在本申请的一实施例中,提供了一种电子设备。该电子设备包括处理器及存储器,其中,所述存储器,用于存储一条或多条计算机指令;所述处理器,与所述存储器耦合,用于执行所述一条或多条计算机指令,以用于实现如第一方面任一项所述输出虚拟相机运镜路径的方法的步骤。

第四方面,在本申请的一实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理设备运行时执行如第一方面任一项输出虚拟相机运镜路径的方法的步骤。

本申请实施例提供的技术方案通过从一个相机列表中生成对应路径,综合考虑处理遮挡与路径长度等问题后,从中选取最优路径,通过对生成的路径进行遮挡的检测,不断进行调整优化。本发明通过自动运镜的规则设计和算法实现,解决用户在设计工具中运镜的效果和效率问题,并降低用户使用门槛。

附图说明

图1是本申请实施例提供的输出虚拟相机运镜路径的方法流程示意图;

图2是本申请实施例提供的输出虚拟相机运镜路径的装置示意图。

具体实施方式

以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本申请实施例提供一种输出虚拟相机运镜路径的方法、装置及电子设备。具体而言,本申请实施例的输出虚拟相机运镜路径的方法可以由计算机设备执行,该计算机设备可以为终端或者服务器。该终端可以为智能手机、平板电脑、笔记本电脑、台式计算机等设备;终端还可以包括客户端,该客户端可以是视频客户端、浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

当本实施例提供的输出虚拟相机运镜路径的方法运行于终端时,终端需首先下载安装相关的应用程序并存储,终端在实际运行前述方法时,用于呈现相关的页面,以及空间、场景、商品等内容,并可以通过图形用户界面与用户进行交互。该终端将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影呈现图形用户界面。终端可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户的页面浏览指令,该图形用户界面包括供用户浏览的页面,该处理器用于运行相关的应用、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。

当本实施例提供的输出虚拟相机运镜路径的方法运行于服务器时,可以为以云计算为基础的运镜数据计算处理方式。在此运行模式下,虚拟相机运镜展示应用程序的运行主体和虚拟相机运镜路径输出的交互展示画面呈现主体是分离的,方法的储存与运行是在云服务器上完成的。而交互展示画面呈现是在客户端完成的,客户端主要用于运镜路径数据的接收、发送以及显示画面的呈现,例如,客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、计算机、掌上电脑等显示设备,但是进行运镜数据计算处理的设备为云端的服务器。在进行虚拟相机运镜展示计算及展示时,用户操作客户端向服务器发送操作指令,云服务器根据操作指令运行虚拟相机路径展示、三维模型遮挡计算处理等方面的计算,将展示画面等数据进行编码压缩,通过网络返回客户端,最后,通过客户端进行解码并输出展示页面对应的画面,从而呈现虚拟相机运镜路径的展示效果。

基于上述硬件基础,本申请提供如下各方法实施例、装置和设备实施例,以对本申请提供的技术方案做更详尽的说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。

本申请各实施例提供了一种输出虚拟相机运镜路径的方法,该方法可以由终端或服务器执行,也可以由终端和服务器协同执行。

图1为本申请实施例提供的输出虚拟相机运镜路径的方法的流程示意图,本申请实施例以输出虚拟相机运镜路径的方法由终端侧执行为例来进行说明。本实施例中大体通过三个阶段确定虚拟相机运镜路径,一是获取虚拟相机点位作为起点或终点;二是运镜的类型以及运动路径的长度;三是判断路径中的遮挡问题并进行调整。该方法可应用于终端,该方法包括:

本实施例中,先获取一个展示商品或空间的虚拟相机列表。例如,通过酷家乐商品自动构图或空间自动构图技术得到一个含有多个相机的列表,再根据设定的运镜类型和长度生成路径,最后检测路径中的遮挡问题进行调整或使用新的相机点位生成新的路径。通过酷家乐商品自动构图或空间自动构图技术,可实现通过用户选择的物体模型和预设空间,以及根据用户发起的拍摄请求信息,即可生成不同的构图视角对应的构图,同时可以对构图进行可视化展示,即通过简单的操作可以自动实现物体模型在不同构图视角下的构图。该技术并非本申请重点,不再赘述。

该方法包括:

S101:获取一个展示商品或空间的虚拟相机列表。

本步骤可确定用于生成路径的虚拟相机。本实施例中,例如是根据酷家乐商品自动构图关键技术与空间自动构图技术,可以获得一个展示商品或空间的相机列表,其中可以包含多个相机的位置与朝向并按最优展示顺序排序。

S102:确定虚拟相机的运镜类型和距离。

常见的运镜类型有推、退、平移、升、降、绕,确定了运镜类型即确定了运动的方向,比如推是相机向前移动,升是相机向上移动。确定了运动的方向和运动的距离,再根据相机初始的位置便可以生成路径。

S103:生成虚拟相机的第一路径。

根据S102和S101,即可以生成一段路径作为初始路径,本实施例中称为第一路径。首先使用列表中的第一个相机来生成路径,如果该相机生成的路径不符合要求,再尝试使用列表中的下一个相机生成路径。

S104:判断第一路径是否被遮挡。

在三维空间中生成路径后,可能发生相机被遮挡的情况,比如相机运动到了模型的内部或者一个较大模型的后面,这种情况的路径是不适合用于展示的。对上述情况进行判断,如果是,进行后续处理;如果否,则输出路径。

S105:对被遮挡的第一路径进行调整生成第二路径。

根据S104的判断,如果第一路径中发生遮挡问题,则裁剪掉该遮挡路径,同时为保证路径的长度,需要向另一端延伸第一长度的路径,作为举例,第一长度的路径可以是与被裁减掉的路径长度相同的路径,即对第一路径进行调整后生成第二路径。由于运镜路径通常是连续的,作为举例,本实施例中裁减掉遮挡路径的方式可以是从发生遮挡的位置开始一直到终点位置整段裁剪掉,即遮挡路径可被视为开始发生遮挡的位置到终点的路径段。

值得说明的是,调整方式不限于裁剪掉该遮挡路径并向另一端延伸相同长度的路径,还可以是例如改变运镜类型。改变运镜类型可能解决遮挡问题。只是如果是输入的时候指定了运镜类型,再到过程里改变运镜类型就相当于变更了用户需求。如果请求时没指定运镜类型是可以改变运镜类型的,实际业务中也可如此处理,当某种运镜类型经过各种调整仍然有明显的问题时,可更换运镜类型。

S106:判断第二路径是否被遮挡。

对新延伸的路径进行与S104相同的判断。即在三维空间中第二路径同样可能发生虚拟相机被遮挡的情况,比如相机运动到了模型的内部或者一个较大模型的后面,这种情况的路径不适于生成展示视频。

S107:对存在遮挡的第二路径进行裁剪处理形成第三路径。

如果调整形成的第二路径也有遮挡问题,则裁剪掉遮挡部分的路径。

S108:判断第三路径是否满足长度要求。

因为第三路径是对遮挡的第二路径进行裁剪形成,所以第三路径实际上是剩余的可用路径,其长度是未知的,为了防止生成的路径过短,需要判断可用路径的长度是否在设定长度的一定比例内。如果是,则代表路径可用,进行输出;如果否,则需要尝试使用新的虚拟相机角度生成新的路径。

S109:输出路径。

路径无遮挡问题且长度符合要求的情况下,可直接输出路径,无需尝试其他的相机点位。

S110:记录路径并判断虚拟相机列表中是否还有可用虚拟相机。

根据S108的判断,如果可用路径长度过短,则需将该路径记录下来。同时判断列表中是否还有可用的相机,如果是,则使用列表中的下一个相机再次尝试生成路径并进行上述遮挡判断等处理;如果否,执行S111。

S111:输出最长路径。

如果执行到该流程,则代表相机列表中已无可用相机,且列表中不同相机生成的路径可用长度皆不符合在设定长度的一定比例内,此时使用所记录的路径中最长的路径。

S112:虚拟相机沿输出路径运镜展示。

控制驱动虚拟相机按照输出的路径进行运镜展示。

相对应的,如图2所示,本申请实施例提供一种输出虚拟相机运镜路径的装置,包括:

虚拟相机获取模块1,用于获取虚拟相机,以及确定虚拟相机的运镜类型和距离;

运镜路径生成模块2,用于根据虚拟相机的初始位置、运镜类型和距离生成虚拟相机的第一路径;判断第一路径是否被遮挡,若第一路径未被遮挡则将第一路径作为运镜路径输出;若第一路径被遮挡,则对第一路径进行调整生成第二路径;判断第二路径是否被遮挡,若第二路径未被遮挡则将第二路径作为运镜路径输出;若第二路径被遮挡,则对第二路径进行裁剪处理形成第三路径;判断第三路径是否符合长度预设条件,若是,则将其作为运镜路径输出;

优选地,还包括展示模块3,用于控制虚拟相机沿运镜路径进行运镜展示。

其中,对第一路径进行调整生成第二路径包括:裁剪掉所述遮挡路径,向被剪掉的遮挡路径的另一端延伸相同长度的路径。

在一个实施例中,长度预设条件是预设的长度范围或预设长度的一定比例范围内。

获取虚拟相机包括:获得展示商品或空间的虚拟相机列表。

生成虚拟相机的第一路径包括:选择虚拟相机列表中未使用过的虚拟相机生成初始路径并判断该初始路径是否符合预设条件,重复该步骤直至获得符合预设条件的初始路径,作为第一路径。

对第二路径进行裁剪处理形成第三路径包括:裁剪掉遮挡部分的路径。

若第三路径不满足长度预设条件,则记录该第三路径;

判断虚拟相机列表中是否还有未使用过的虚拟相机,若是,则选择虚拟相机列表中的一个未使用过的虚拟相机,重新开始生成第一路径并进行后续遮挡判断;若否,则将记录的第三路径作为运镜路径输出。

本申请还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述任一实施例所述输出虚拟相机运镜路径的方法的步骤。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的输出虚拟相机运镜路径的方法步骤或功能。

电子设备可以是各种形式的数字计算机,例如,膝上型计算机、台式计算机、工作站、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

作为举例,电子设备包括计算单元,其可以根据存储在只读存储器(ROM)中的计算机程序或者从存储单元加载到随机访问存储器(RAM)中的计算机程序,来执行各种适当的动作和处理。在RAM中,还可存储设备操作所需的各种程序和数据。计算单元、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元执行上文所描述的各个方法和处理,例如输出虚拟相机运镜路径的方法。例如,在一些实施例中,所述输出虚拟相机运镜路径的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由计算单元执行时,可以执行上文描述的输出虚拟相机运镜路径的方法的一个或多个步骤。备选地,在其他实施例中,计算单元可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行输出虚拟相机运镜路径的方法。

以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

值得说明的是,尽管在附图中以特定顺序描述了本申请方法的执行过程,但是,这并非要求或者暗示必须按照该特定顺序来执行,或是必须执行全部所示的步骤才能实现预期结果。可选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

技术分类

06120115915543