CN114237436A - 相机路径绘制方法和基于相机路径绘制的渲染交互*** - Google Patents
相机路径绘制方法和基于相机路径绘制的渲染交互*** Download PDFInfo
- Publication number
- CN114237436A CN114237436A CN202111578343.2A CN202111578343A CN114237436A CN 114237436 A CN114237436 A CN 114237436A CN 202111578343 A CN202111578343 A CN 202111578343A CN 114237436 A CN114237436 A CN 114237436A
- Authority
- CN
- China
- Prior art keywords
- camera
- path
- key points
- rendering
- image
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000003993 interaction Effects 0.000 title claims description 23
- 230000033001 locomotion Effects 0.000 claims abstract description 51
- 230000014509 gene expression Effects 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 230000010354 integration Effects 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 102100024506 Bone morphogenetic protein 2 Human genes 0.000 description 1
- 101000762366 Homo sapiens Bone morphogenetic protein 2 Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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/30241—Trajectory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种相机路径绘制方法,采用三阶贝塞尔曲线拟合进行相机路径的分段拟合,同时为保证拟合相机路径过关键点,且每段相机路径在公共关键点上连接,设定了约束条件,基于该约束条件并结合关键点坐标,对三阶贝塞尔曲线进行拟合求解,这样能够快速且准确地获得相机运动路径。还公开了一种基于相机路径绘制的渲染交互***,在利用通过三阶贝塞尔曲线拟合确定相机路径基础上,结合用户通过客户端输入的相机运动参数和图像数量相关参数,沿着整条相机路径进行场景渲染,以生成渲染图像,这样得到符合用户预期的各视角渲染图像,同时客户端还实时显示关键点形成的相机路径,让用户更加直观地感受相机沿着关键点运动的轨迹。
Description
技术领域
本发明属于图形绘制领域,具体涉及一种相机路径绘制方法和基于相机路径绘制的渲染交互***。
背景技术
随着大数据和人工智能的快速发展,基于大数据分析来构建各类模型时,往往需要场景的各个视角图像。现在有方法中,进行各视角图像采集的主要方式为利用真实机器人在实地场景环境中采集,但是这种采集方式具有如下缺点:
(1)真实机器人的制造成本高,进而导致图像采集成本也高;(2)真实机器人在实地场景环境中采集时,没有预期采集路径,需要不断地反复试验才能获得较好视角的采集路径,进而得到较好的图像;(3)利用真实机器人实地场景环境中采集时,还会因实地环境受到限制,无法实现图像采集的多样性。
鉴于上述利用真实机器人在实地场景环境中采集存在的缺点,现有技术中,可以采用对三维场景模型进行图像渲染的方式,获得大量各视角渲染图像,但是在渲染过程中就会存在渲染路径设计的问题,以得到符合用户预期的各视角渲染图像。
专利文献CN111445556 A公开了一种动态行车轨迹的渲染方法,通过配置的轨迹参数和图案参数来构建轨迹模型,依据轨迹模型来进行渲染,该方式由于是适用于动态行车的,所以轨迹模型是基于车辙部分、安全区域部分和空白部分构建的,且不可视化,并不适用于通用场景的相机轨迹路径规划和图像渲染。
专利文献CN110609622A公开了一种结合3D与虚拟现实技术实现多人交互方法,该交互方法中,3D主机和虚拟现实主机分别根据各体验者的定位数据确定各体验者在同一虚拟场景中对应的位置及运动轨迹,以确定至各体验者对应视角下的显示内容并进行渲染,这种方式通过虚拟现实技术能够获得各个需求视角和路径的渲染图,但是采样成本高,并不适用于通用场景的相机轨迹路径规划和图像渲染。
发明内容
鉴于上述,本发明的第一目的是提供一种相机路径绘制方法,根据用户输入关键点基于贝塞尔曲线快速准确绘制相机运动路径。
本发明的第二目的是提供一种基于相机路径绘制的渲染交互***,通过用户输入的关键点构建相机运动路径,同时结合用户交互输入的相关参数进行渲染以生成多种多样的渲染图像。
为实现第一发明目的,实施例提供了一种相机轨迹绘制方法,包括以下步骤:
获取用户输入的关键点;
当关键点为两个时,以两个关键点的连线作为绘制的相机轨迹;
当关键点大于两个时,按照关键点的时间戳顺序对每两个关键进行三阶贝塞尔曲线拟合,获得每两个关键之间且过关键点的路径曲线,同时保证相邻两段路径曲线在共同关键点上二阶连续,以得到整条相机路径。
在一个实施例中,采用三阶贝塞尔曲线对m个关键点拟合m-1段路径曲线时,对于相邻两段路径曲线,要求前一段路径曲线在终点的一阶导数和二阶导数与后一段路径曲线在起点的一阶导数和二阶导数相等,同时要求m-1段路径曲线形成的整条相机路径的第一段路径曲线在起点的二阶导数为0,第m-1段路径曲线在终点的二阶导数为0;
结合m个关键点的二维坐标,以及每段路径曲线对应的三阶贝塞尔曲线表达式,通过矩阵求解方式确定每段路径曲线,进而得到整条相机路径。
为实现第二发明目的,实施例提供了一种基于相机路径绘制的渲染交互***,包括通信连接的客户端和服务器端,所述客户端接收用户输入信息,包括附有输入时间戳的关键点、相机运动参数、图像数量相关参数,并传输输入信息至服务器端;
所述服务器端基于接收的关键点,按照权利要求1或2所述的相机路径绘制方法绘制整条相机路径;
所述服务器端的图像渲染引擎根据相机运动参数和图像数量相关参数,沿着整条相机路径进行场景渲染,以生成渲染图像;
所述客户端在接收用户输入的关键点时,实时显示关键点形成的相机路径。
在一个实施例中,所述相机运动参数包括相机运动速度、相机运动时高度、相机运动时俯仰角;所述图像数量相关参数包括:图像总帧数、渲染帧率;
当接收的图像数量相关参数为图像总帧数,且大于关键点个数时,保证关键点处对应一帧图像前提下,将图像总帧数平均分配到每段路径曲线,在每段路径曲线对应的图像帧数再进行均分,以得到每帧图像对应的相机二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每帧图像对应的相机三维坐标,然后,图像渲染引擎根据相机三维坐标和相机运动时俯仰角进行场景渲染,以得到渲染图像。
在一个实施例中,当接收的图像总帧数小于等于关键点个数时,根据每个关键点的二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每个关键点对应的相机三维坐标,然后,图像渲染引擎根据每个关键点对应的相机三维坐标和相机运动时俯仰角进行场景渲染,以得到渲染图像。
在一个实施例中,当接收的图像数量相关参数为渲染帧率时,依据渲染帧率计算每帧图像需要的时间,并在整条相机路径实时确认按照相机运动速度每帧图像对应的相机二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每帧图像对应的相机三维坐标,图像渲染引擎依据相机三维坐标渲染时,从第一帧图像开始,累计相机运动经过的轨迹长度,当累计轨迹长度小于整条相机路径长度,则相机继续沿相机路径运行;当累计轨迹长度等于整条相机路径长度时,保留当前帧渲染图像,相机停止运动;当累计轨迹长度大于整条相机路径长度时,舍弃当前帧渲染图像,相机停止运动。
在一个实施例中,当按照相机运动速度每帧图像对应的相机二维坐标与邻近的关键点沿路径的距离小于预设阈值时,将相机二维坐标更新为邻近的关键点。
在一个实施例中,所述基于相机路径绘制的渲染交互***还包括:服务器端通过对整条相机路径对应的每段三阶贝塞尔曲线离散积分的方式确定整条相机路径长度。
在一个实施例中,所述客户端为用户提供输入信息编辑界面,并提供相机路径的关键点的***、删除以及修改功能。
在一个实施例中,所述客户端实时显示的关键点形成的相机路径确定方法包括:采用三阶贝塞尔曲线进行拟合,在拟合时,以连续的三个关键点为一个拟合单元,然后根据每个拟合单元内三个关键点,并基于相似三角形原理确定三阶贝塞尔曲线的两个中间控制点,然后,再结合每个拟合单元的始末两个关键点计算确定三阶贝塞尔曲线即对应的拟合路径。
与现有技术相比,本发明具有的有益效果至少包括:
实施例提供的相机路径绘制方法,采用三阶贝塞尔曲线拟合进行相机路径的分段拟合,同时为保证拟合相机路径过关键点,且每段相机路径在公共关键点上连接,设定了约束条件,基于该约束条件并结合关键点坐标,对三阶贝塞尔曲线进行拟合求解,这样能够快速且准确地获得相机运动路径。
实施例提供的基于相机路径绘制的渲染交互***,在利用通过三阶贝塞尔曲线拟合确定相机路径基础上,结合用户通过客户端输入的相机运动参数和图像数量相关参数,沿着整条相机路径进行场景渲染,以生成渲染图像,这样得到符合用户预期的各视角渲染图像,同时客户端还实时显示关键点形成的相机路径,让用户更加直观地感受相机沿着关键点运动的轨迹,再者,相机路径用户根据用户自定义的关键点生成,不受其他条件限制,普适性强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的相机路径绘制方法的流程图;
图2是实施例提供的贝塞尔曲线及其控制点示意图;
图3是实施例提供的在家装场景中拟合相机路径示意图;
图4是实施例提供的基于相机路径绘制的渲染交互***的结构示意图;
图5是实施例提供的基于三角形相似原理计算控制点的原理图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
实施例1
为了能够依据用户绘制的关键点快速拟合出符合用户预期的相机路径,实施例提供了一种相机路径绘制方法。图1是实施例提供的相机路径绘制方法的流程图。如图1所示,实施例提供了一种相机路径绘制方法,其特征在于,包括以下步骤:
步骤1,获取用户输入的关键点。
步骤2,当关键点为两个时,以两个关键点的连线作为绘制的相机轨迹。
步骤3,当关键点大于两个时,按照关键点的时间戳顺序对每两个关键进行三阶贝塞尔曲线拟合,获得每两个关键之间且过关键点的路径曲线,同时保证相邻两段路径曲线在共同关键点上二阶连续,以得到整条相机路径。
实施例中,关键点是指用于拟合相机路径确定的轨迹点,该关键点需要在拟合相机路径上,且按照相机路径渲染图像时,要求关键点位置进行渲染绘制,得到关键帧图像。在相机路径绘制时,针对输入的一个关键点,不形成相机路径。当输入的关键点为两个时,则以两个关键点的连线作为拟合的相机轨迹。
当输入大于两个关键点时,采用多段贝塞尔曲线进行相机路径拟合。传统贝塞尔曲线拟合的方式,会把多个点都当作贝塞尔曲线的控制点,但这种做法在用户体验上存在两个比较大的局限:一方面,贝塞尔曲线不经过大多数控制点,如下图2所示。其中,显示的点为控制点,曲线为控制点下拟合生成的贝塞尔曲线,显然,用户在可视化界面上点选的关键点是希望路径经过的轨迹点,而非根据预期的路径来估计路径控制点应该存在的位置;另一方面,多个控制点控制下的贝塞尔曲线不具备局部编辑及修改的特性,这使得当用户发现绘制的某段相机路径不符合预期,想要进行修改时,改动的每个关键点点都会影响整条相机路径。因此,实施例中采用贝塞尔曲线拟合相机路径时,定义拟合过程满足以下拟合条件:要求经过用户所绘制的关键点的多段贝塞尔曲线进行平滑拼接,从而拟合整条运动路径。
为实现上述拟合条件,需要根据贝塞尔曲线经过的点反推曲线的控制点,同时还要求多段贝塞尔曲线在拼接的关键点处保证平滑。实现方式为:将每两个相邻的关键点作为一段拟合曲线的起点与终点,每段拟合曲线采用三阶贝塞尔曲线进行拟合;相邻两段三阶贝塞尔曲线保证在共用端点(也即是共用关键点)处二阶连续。
P(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3,t∈[0,1]
将用户输入的m个关键点时,则对应m-1段拟合路径曲线,且对于每段路径曲线的两个关键点对应三阶贝塞尔曲线的控制点P0和P3,则此时问题转化为求每段路径曲线上的控制点P0和P2,使得相邻曲线在共用关键点上为二阶连续,即假设Pj(t),Pj+1(t)是m-1段路径曲线上相邻的两段,则应满足二阶连续条件:前一段路径曲线Pj(t)在终点Pj(t=1)的一阶导数和二阶导数与后一段路径曲线Pj+1(t)在起点Pj+1(t=0)的一阶导数和二阶导数相等,表达式为:
这样问题转化为:对于m-1段路径曲线,对应2(m-1)个待求控制点,上述二阶连续条件给出了m-2个控制点要满足的2(m-2)个表达式,故要求出2(m-1)个未知变量,还需增加两个表达式。故在求解时,增加了两个边界条件:m-1段路径曲线形成的整条相机路径的第一段路径曲线在起点的二阶导数为0,第m-1段路径曲线在终点的二阶导数为0,表达式为
在上述二阶连续条件和边界条件的约束下,结合m个关键点坐标形成的m个三阶贝塞尔曲线表达式,通过矩阵求解的方式,获得m-1个贝塞尔曲线各自关于参数t的表达式,拟合曲线的样例如图3所示,其中白点为用户指定的关键点,曲线为拟合的最终相机路径。
实施例2
实施例2提供了一种基于相机路径绘制的渲染交互***,通过该渲染交互***,用户可以直接在可视化界面呈现的多样复杂场景中,绘制预期的相机运动路径经过的关键点,并调整相机初始及运动过程中相机状态参数,能够以较小的时间及人力成本获取高质量的相机运动中第一视角的渲染图。
图4是实施例提供的基于相机路径绘制的渲染交互***的结构示意图。如图4所示,实施例提供的渲染交互***,包括客户端和与客户端通信的服务器端。其中,客户端接收用户输入的输入信息并传输至服务器端,其中,输入信息包括附有输入时间戳的关键点、相机运动参数、图像数量相关参数。服务器端基于接收的关键点,按照上述相机路径绘制方法绘制整条相机路径;然后服务器端的图像渲染引擎根据相机运动参数和图像数量相关参数,沿着整条相机路径进行场景渲染,以生成渲染图像。客户端在接收用户输入的关键点时还实时显示关键点形成的相机路径。
在交互上,客户端为用户提供可视化操作界面,用户可在可视化操作界面上选择场景的俯视图,并在俯视图上进行实际相机路径绘制,通过关键点位的控制,即可得到一条平滑的相机路径数据。客户端提供了相机路径的关键点的***、删除以及修改功能。用户可通过这些功能可以实现相机路径关键点的***、删除以及修改等。
实施例中,从相机路径绘制角度,将绘制的相机路径分为三种关键点操作,分别为路径起点绘制,路径中间点绘制,路径终点绘制。
针对路径起点绘制,当鼠标在可视化操作界面的热区(该热区为相机路径绘制和操作的界面区域)时,鼠标上会跟随气泡提醒:“点击设置路径起点”此时通过点击鼠标左键,便可以根据此时鼠标位置的经纬度确定路径起点,也即是相机路径的第一个关键点。
针对路径中间点绘制,起点确定后,接下来存在两个可能操作行为,分别为:A、继续下一步操作,即完成后续相机路径的关键点位绘制;B、撤销当前操作,即回到上一步操作。因此,鼠标上的跟随气泡提醒变为“点击左键添加,右键撤销”以提示用户进行相关操作。
当用户选择点击左键,热区则根据第二次点击时的鼠标经纬度确定第二个关键点,并且由两个关键点连接出一条相机路径。当相机路径只有两个关键点时,其实已经完成了一条最基础的相机路径:直线。此时如果需要绘制更复杂的相机估计时,就需要继续在热区上新增相关关键点,热区则会根据后续添加的关键点实时更新相机路径。
当用户选择点击右键,热区则会撤销当前操作,回到上一步分镜。如果上一步是路径起点绘制,则回到相关分镜,分镜内容可以参考路径起点绘制的说明。在整个相机路径绘制过程中,用户可以随时基于撤销的分镜再次点击左键以进行新关键点绘制。
在新增关键点和撤销关键点的操作基础上,实施例还提供了***、删除和修改关键点的能力。针对***关键点,预设已经有一条包含10个关键点位的相机路径,当需要在第一个关键点和第二个关键点之间再***一条路径控制点时,只需把鼠标悬浮在第一个关键点和第二个关键点之间的路径线段上,此时界面会提示:“点击&拖动可新增点位”。只需点击相机路径上的任意一个位置,即可把这个位置点作为***的关键点,并且相机路径会根据新增的关键点做实时变化。
针对删除、修改轨迹关键点,预设已经有一条包含10个关键点位的相机路径,当需要对第二个关键点进行修改并且保留其他关键点时,定义把鼠标移动到相关点位上,此时界面会提示:“拖动可更改,单击可移除”。此时点击左键,相关点位被删除;按住左键并拖动,在松开鼠标前,相关点位会根据鼠标的位置进行移动。
针对路径终点绘制,在轨迹绘制过程中,定义所有非起点的关键点都可以作为终点。由于相机路径是本地实时存储,因此不需要做额外的保存操作。当绘制的相机路径已经到实际需要时,通过选择退出,即可完成当前相机路径的绘制。
通过客户端进行相机路径绘制时,客户端实时显示由关键点形成的相机路径。考虑到相机路径拟合计算开销和数据传输开销,客户端实时显示的相机路径是根据三角形相似原理计算得到的,以使用户更加直观地感受相机沿着轨迹关键点运动的轨迹。
实施例中,依据关键点的数量采用不同的路径拟合求解方式,当只有一个关键点的时,就是一个单独的关键点;当有两个关键点的时,两关键点之间连接成一条直线;当有三个及其三个以上关键点时,采用三阶贝塞尔曲线进行拟合,在拟合时,以连续的三个关键点为一个拟合单元,然后根据每个拟合单元内三个关键点,并基于相似三角形原理确定三阶贝塞尔曲线的两个中间控制点,然后,再结合每个拟合单元的始末两个关键点计算确定三阶贝塞尔曲线即对应的拟合路径。
在贝塞尔曲线示意图中,当t在0和1时刻是关于两个起始和结束的控制点相切的,可以让关键点分别充当贝塞尔曲线的起始控制点和终止控制点,因为切线相切,因此各段贝塞尔曲线在公共点相切,相邻的曲线二阶连续。因此轨迹转换为多段贝塞尔曲线的连续。考虑到控制点的数量,整体的轨迹整合为多段二次贝塞尔曲线和三次贝塞尔曲线的结合。
因为轨迹关键点都是充当的贝赛尔曲线的起始控制点和终止控制点,如图5中的关键点A、B、C,则中间控制点P1和P2需要手动计算,实施例中,采用相似三角形计算。具体计算过程为:
假如已知关键点A、B和C的坐标,求控制点P1和P2的坐标,轨迹假设如图5所示,并且可以依据图5中做出的直角三角形,得出以下结论:△AOC和△P1NB和△BMP2相似,设相似比分别为S1和S2;由于已知关键点A、B和C的坐标,在给定相似比时,即可以根据相似比推算出线段的长度,然后就可以得到控制点P1和P2的坐标,在这里,计算控制点P1使用的相似比的计算公式为S1=K*(AB/(AB+BC))(K为常数,根据实际情况取值为0.5)。这样,根据关键点A和C和控制点P1和P2通过三阶贝塞尔曲线即可以拟合得到路径曲线。
实施例中,还需要在相机路径末尾添加路径方向,示意相机运动的走势方向,依据拟合的相机路径的最后一段贝塞尔曲线的最后一个控制点和最后一个关键点确定的切线方向作为路径方向。
相机路径绘制结束后,通过客户端完成信息配置,包括机运动参数、图像数量相关参数的选择和键入,则服务器端即可以根据关键点、机运动参数、图像数量相关参数渲染生成场景渲染图并输出。
实施例中,相机运动参数包括相机运动速度speed(m/s)、相机运动时高度height、相机运动时俯仰角pitch,图像数量相关参数包括相机渲染的图像总帧数frameCount、相机运动过程中的渲染帧率fps。
基于上述不同的图像数量相关参数,渲染交互***为用户提供了两种指定相机渲染出图数量的模式,分别为基于frameCount的出图模式,和基于speed+fps的出图模式,前者根据用户指定的frameCount直接出图,后者根据speed+fps并结合相机路径计算图像总帧数,当frameCount被设定时,优先选择基于frameCount的出图模式。
实施例提供的渲染交互***中,相机运动参数(speed,height,pitch)均支持三种模式,分别为用户通过客户端设置恒定值;随机初始化一个初始值,且渲染过程中参数保持初始值恒定;随机初始化一个初始值,且渲染过程中参数在初始值基础上随机变化。当存在恒定值时,服务器端依据恒定值进行渲染,否则自动采用后两种方式进行渲染。
实施例中,服务器端接收到客户端输入的关键点后,利用上述相机路径绘制方法绘制整条相机路径,当输入为一个关键点时,不存在相机路径,则选择基于frameCount的出图模式时,则在一个关键点上以初始相机位置keyPoints和姿态进行多次渲染,以得到指定frameCount的渲染图像。当输入为两个关键点时,以两个关键点的连线作为绘制的在整条相机轨迹。当输入大于两个关键点时,采用贝塞尔曲线拟合的方式确定整条相机路径。具体详见上述实施例1提供的相机路径绘制方法。
服务器端在绘制整条相机路径后,利用图像渲染引擎根据相机运动参数和图像数量相关参数,选择相应的出图模式,沿着整条相机路径进行场景渲染,以生成渲染图像。
当选择基于frameCount的出图模式,且输入的frameCount大于关键点个数时,保证关键点处对应一帧图像前提下,将frameCount平均分配到每段路径曲线区间,在每段路径曲线区间对应的图像帧数再进行均分,即将每段路径曲线区间对应的时间[0,1]进行均分,以插值得到多个时间点,然后获得路径曲线表达式在多个时间点上的数据值,根据该数据值即可以得到每个时间点的渲染图像对应的相机二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每帧图像对应的相机三维坐标,然后,图像渲染引擎根据相机三维坐标和相机运动时俯仰角进行场景渲染,以得到渲染图像。
当选择基于frameCount的出图模式,且输入的frameCount小于等于关键点个数时,在每个关键点上渲染图像,即根据每个关键点的二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每个关键点对应的相机三维坐标,然后,图像渲染引擎根据每个关键点对应的相机三维坐标和相机运动时俯仰角进行场景渲染,当相机运动到frameCount所达到的关键点时,停止渲染,这样合理模拟了现实场景。
当选择基于speed+fps的出图模式,依据fps计算每帧图像需要的时间,再结合相邻两帧图像之间的speed确定两帧之间的距离,在整条相机路径实时确认每帧图像对应的相机二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每帧图像对应的相机三维坐标,图像渲染引擎依据相机三维坐标渲染时,从第一帧图像开始,累计相机运动经过的轨迹长度,当累计轨迹长度小于整条相机路径长度,则相机继续沿相机路径运行;当累计轨迹长度等于整条相机路径长度时,保留当前帧渲染图像,相机停止运动;当累计轨迹长度大于整条相机路径长度时,舍弃当前帧渲染图像,相机停止运动。
这样,在基于speed+fps的出图模式中,需要估计整条相机路径长度,当关键点个数为两个时,拟合相机路径的是一条直线,则整条相机路径长度就是两关键点间距离。当关键点个数大于两个时,则对整条相机路径对应的每段三阶贝塞尔曲线离散积分的方式确定整条相机路径长度。具体过程包括:在每段贝塞尔曲线上进行离散积分(离散粒度作为参数可调),在CPU资源性能以内将每段贝塞尔曲线进行尽可能多的插值,并将相邻插值作为一条线段的端点,由此每段贝塞尔曲线就可用尽可能多地用线段去逼近,而每条线段的距离根据插值的点是可求的,则每段贝塞尔曲线的长度便是可以估计的,将所有段贝塞尔曲线的长度加总便可得到整条轨迹的长度。
实施例中,当按照相机运动速度每帧图像对应的相机二维坐标与邻近的关键点沿路径的距离小于预设阈值时,将相机二维坐标更新为邻近的关键点。
实施例提供的交互***,用户可在可视化的界面中,看到某个或多个场景的俯视视角的RGB渲染图,并在俯视图上进行轨迹关键点的设置。客户端将关键帧信息传入给服务器端,服务器端根据关键帧个数判断应该使用的路径拟合算法,并结合用户选择的相机运动过程中的其他参数配置,最终给出符合用户预期的,相机在按自定义轨迹运动过程中渲染产生的图片。这样把复杂的计算公式通过可视化的方式进行配置,降低软件的使用门槛,通过设置少量轨迹关键点,便可以绘制一条完整的相机运动轨迹,简化了轨迹绘制的流程,提高操作效率。同时服务器端的绘制结果可以达到交付生产标准的轨迹数据,保证输出结果的高精度。使用场景顶视图作为背景进行设计,使拍摄设置更加贴近生产环境。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种相机路径绘制方法,其特征在于,包括以下步骤:
获取用户输入的关键点;
当关键点为两个时,以两个关键点的连线作为绘制的相机轨迹;
当关键点大于两个时,按照关键点的时间戳顺序对每两个关键进行三阶贝塞尔曲线拟合,获得每两个关键之间且过关键点的路径曲线,同时保证相邻两段路径曲线在共同关键点上二阶连续,以得到整条相机路径。
2.根据权利要求1所述的相机轨迹绘制方法,其特征在于,采用三阶贝塞尔曲线对m个关键点拟合m-1段路径曲线时,对于相邻两段路径曲线,要求前一段路径曲线在终点的一阶导数和二阶导数与后一段路径曲线在起点的一阶导数和二阶导数相等,同时要求m-1段路径曲线形成的整条相机路径的第一段路径曲线在起点的二阶导数为0,第m-1段路径曲线在终点的二阶导数为0;
结合m个关键点的二维坐标,以及每段路径曲线对应的三阶贝塞尔曲线表达式,通过矩阵求解方式确定每段路径曲线,进而得到整条相机路径。
3.一种基于相机路径绘制的渲染交互***,包括通信连接的客户端和服务器端,其特征在于,所述客户端接收用户输入信息,包括附有输入时间戳的关键点、相机运动参数、图像数量相关参数,并传输输入信息至服务器端;
所述服务器端基于接收的关键点,按照权利要求1或2所述的相机路径绘制方法绘制整条相机路径;
所述服务器端的图像渲染引擎根据相机运动参数和图像数量相关参数,沿着整条相机路径进行场景渲染,以生成渲染图像;
所述客户端在接收用户输入的关键点时,实时显示关键点形成的相机路径。
4.根据权利要求3所述的基于相机路径绘制的渲染交互***,其特征在于,所述相机运动参数包括相机运动速度、相机运动时高度、相机运动时俯仰角;所述图像数量相关参数包括:图像总帧数、渲染帧率;
当接收的图像数量相关参数为图像总帧数,且大于关键点个数时,保证关键点处对应一帧图像前提下,将图像总帧数平均分配到每段路径曲线,在每段路径曲线对应的图像帧数再进行均分,以得到每帧图像对应的相机二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每帧图像对应的相机三维坐标,然后,图像渲染引擎根据相机三维坐标和相机运动时俯仰角进行场景渲染,以得到渲染图像。
5.根据权利要求4所述的基于相机路径绘制的渲染交互***,其特征在于,当接收的图像总帧数小于等于关键点个数时,在每个关键点上渲染图像,即根据每个关键点的二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每个关键点对应的相机三维坐标,然后,图像渲染引擎根据每个关键点对应的相机三维坐标和相机运动时俯仰角进行场景渲染,以得到渲染图像。
6.根据权利要求4所述的基于相机路径绘制的渲染交互***,其特征在于,当接收的图像数量相关参数为渲染帧率时,依据渲染帧率计算每帧图像需要的时间,并在整条相机路径实时确认按照相机运动速度每帧图像对应的相机二维坐标,结合相机运用时高度以及三维坐标到二维坐标的映射关系,确定每帧图像对应的相机三维坐标,图像渲染引擎依据相机三维坐标渲染时,从第一帧图像开始,累计相机运动经过的轨迹长度,当累计轨迹长度小于整条相机路径长度,则相机继续沿相机路径运行;当累计轨迹长度等于整条相机路径长度时,保留当前帧渲染图像,相机停止运动;当累计轨迹长度大于整条相机路径长度时,舍弃当前帧渲染图像,相机停止运动。
7.根据权利要求6所述的基于相机路径绘制的渲染交互***,其特征在于,当按照相机运动速度每帧图像对应的相机二维坐标与邻近的关键点沿路径的距离小于预设阈值时,将相机二维坐标更新为邻近的关键点。
8.根据权利要求3所述的基于相机路径绘制的渲染交互***,其特征在于,还包括:服务器端通过对整条相机路径对应的每段三阶贝塞尔曲线离散积分的方式确定整条相机路径长度。
9.根据权利要求3所述的基于相机路径绘制的渲染交互***,其特征在于,所述客户端为用户提供输入信息编辑界面,并提供相机路径的关键点的***、删除以及修改功能。
10.根据权利要求3所述的基于相机路径绘制的渲染交互***,其特征在于,所述客户端实时显示的关键点形成的相机路径确定方法包括:采用三阶贝塞尔曲线进行拟合,在拟合时,以连续的三个关键点为一个拟合单元,然后根据每个拟合单元内三个关键点,并基于相似三角形原理确定三阶贝塞尔曲线的两个中间控制点,然后,再结合每个拟合单元的始末两个关键点计算确定三阶贝塞尔曲线即对应的拟合路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111578343.2A CN114237436A (zh) | 2021-12-22 | 2021-12-22 | 相机路径绘制方法和基于相机路径绘制的渲染交互*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111578343.2A CN114237436A (zh) | 2021-12-22 | 2021-12-22 | 相机路径绘制方法和基于相机路径绘制的渲染交互*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237436A true CN114237436A (zh) | 2022-03-25 |
Family
ID=80761122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111578343.2A Pending CN114237436A (zh) | 2021-12-22 | 2021-12-22 | 相机路径绘制方法和基于相机路径绘制的渲染交互*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237436A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116243831A (zh) * | 2023-05-12 | 2023-06-09 | 青岛道可云网络科技有限公司 | 一种虚拟云展厅交互方法及*** |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070211149A1 (en) * | 2006-03-13 | 2007-09-13 | Autodesk, Inc | 3D model presentation system with motion and transitions at each camera view point of interest (POI) with imageless jumps to each POI |
CN106600665A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN106846376A (zh) * | 2016-12-30 | 2017-06-13 | 浙江科澜信息技术有限公司 | 一种三维自动相机轨迹的平滑处理方法 |
CN107239216A (zh) * | 2016-03-28 | 2017-10-10 | 北大方正集团有限公司 | 基于触摸屏的绘制处理方法和装置 |
CN107728998A (zh) * | 2017-10-31 | 2018-02-23 | 苏州乐米信息科技股份有限公司 | 一种可视化3d相机行走路径编辑方法及其*** |
US20190041858A1 (en) * | 2017-08-03 | 2019-02-07 | Mitsubishi Electric Research Laboratories, Inc. | Motion Controller for Real-Time Continuous Curvature Path Planning |
CN109434831A (zh) * | 2018-11-12 | 2019-03-08 | 深圳前海达闼云端智能科技有限公司 | 机器人运行方法、装置、机器人、电子设备及可读介质 |
CN111640173A (zh) * | 2020-05-09 | 2020-09-08 | 杭州群核信息技术有限公司 | 一种基于特定路径的家装漫游动画的云端渲染方法及*** |
CN113686345A (zh) * | 2021-10-25 | 2021-11-23 | 上海仙工智能科技有限公司 | 多段导航路径曲率连续拼接优化处理机、方法及存储介质 |
CN113747138A (zh) * | 2021-07-30 | 2021-12-03 | 杭州群核信息技术有限公司 | 虚拟场景的视频生成方法和装置、存储介质及电子设备 |
-
2021
- 2021-12-22 CN CN202111578343.2A patent/CN114237436A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070211149A1 (en) * | 2006-03-13 | 2007-09-13 | Autodesk, Inc | 3D model presentation system with motion and transitions at each camera view point of interest (POI) with imageless jumps to each POI |
CN107239216A (zh) * | 2016-03-28 | 2017-10-10 | 北大方正集团有限公司 | 基于触摸屏的绘制处理方法和装置 |
CN106600665A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN106846376A (zh) * | 2016-12-30 | 2017-06-13 | 浙江科澜信息技术有限公司 | 一种三维自动相机轨迹的平滑处理方法 |
US20190041858A1 (en) * | 2017-08-03 | 2019-02-07 | Mitsubishi Electric Research Laboratories, Inc. | Motion Controller for Real-Time Continuous Curvature Path Planning |
CN107728998A (zh) * | 2017-10-31 | 2018-02-23 | 苏州乐米信息科技股份有限公司 | 一种可视化3d相机行走路径编辑方法及其*** |
CN109434831A (zh) * | 2018-11-12 | 2019-03-08 | 深圳前海达闼云端智能科技有限公司 | 机器人运行方法、装置、机器人、电子设备及可读介质 |
CN111640173A (zh) * | 2020-05-09 | 2020-09-08 | 杭州群核信息技术有限公司 | 一种基于特定路径的家装漫游动画的云端渲染方法及*** |
CN113747138A (zh) * | 2021-07-30 | 2021-12-03 | 杭州群核信息技术有限公司 | 虚拟场景的视频生成方法和装置、存储介质及电子设备 |
CN113686345A (zh) * | 2021-10-25 | 2021-11-23 | 上海仙工智能科技有限公司 | 多段导航路径曲率连续拼接优化处理机、方法及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116243831A (zh) * | 2023-05-12 | 2023-06-09 | 青岛道可云网络科技有限公司 | 一种虚拟云展厅交互方法及*** |
CN116243831B (zh) * | 2023-05-12 | 2023-08-08 | 青岛道可云网络科技有限公司 | 一种虚拟云展厅交互方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7096902B2 (ja) | 画像処理方法、装置、コンピュータプログラム及びコンピュータデバイス | |
US10958891B2 (en) | Visual annotation using tagging sessions | |
US9153062B2 (en) | Systems and methods for sketching and imaging | |
US5999195A (en) | Automatic generation of transitions between motion cycles in an animation | |
EP1296289A1 (en) | Animation producing method and device, and recorded medium on which program is recorded | |
CN106056655B (zh) | 一种可编辑的虚拟摄像机***和方法 | |
CN110110445B (zh) | 一种日照分析方法、装置、设备及存储介质 | |
CN113827965B (zh) | 游戏场景中样条线的渲染方法、装置及设备 | |
US11763506B2 (en) | Generating animations in an augmented reality environment | |
CN114237436A (zh) | 相机路径绘制方法和基于相机路径绘制的渲染交互*** | |
Hildebrandt et al. | An assisting, constrained 3D navigation technique for multiscale virtual 3D city models | |
CN114648603B (zh) | 一种基于canvas与echarts实现飞线动效的方法及*** | |
CN115375811A (zh) | 一种适用于Cesium的模型贴图渲染方法 | |
JP2907089B2 (ja) | 対話型映像提示装置 | |
US8462163B2 (en) | Computer system and motion control method | |
CN116681854A (zh) | 一种基于目标检测及建筑重构的虚拟城市生成方法和装置 | |
CN115984467A (zh) | 一种基于无监督学习的多房间室内户型图重建方法 | |
CN113409433B (zh) | 一种基于移动终端的医学三维模型显示和切割*** | |
CN111476905B (zh) | 一种基于增强现实的机器人辅助牙体预备仿真*** | |
US20220206676A1 (en) | Modifying drawing characteristics of digital raster images utilizing stroke properties | |
JPH11510351A (ja) | オブジェクト追跡の装置および方法 | |
JP3919163B2 (ja) | 映像オブジェクト編集装置及び映像オブジェクト編集プログラム | |
CN111523161A (zh) | 一种基于BIM和Unity3d的3D物联网可视化人机交互方法 | |
JP4019093B2 (ja) | 類似画像検索方法および装置 | |
Cannavò et al. | A sketch-based interface for facial animation in immersive virtual reality |
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 |