CN111145341B - 一种基于单光源的虚实融合光照一致性绘制方法 - Google Patents
一种基于单光源的虚实融合光照一致性绘制方法 Download PDFInfo
- Publication number
- CN111145341B CN111145341B CN201911379770.0A CN201911379770A CN111145341B CN 111145341 B CN111145341 B CN 111145341B CN 201911379770 A CN201911379770 A CN 201911379770A CN 111145341 B CN111145341 B CN 111145341B
- Authority
- CN
- China
- Prior art keywords
- light source
- virtual
- illumination
- point
- model
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- 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
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于单光源的虚实融合光照一致性绘制方法,具体按照如下步骤实施:步骤1,在真实场景中建立已知形状、大小和颜色的标志球,通过标志球的阴影区域对真实场景中光照强度进行估计;步骤2,采用区域增长法进行图像分割提取标志球及其阴影,并提取场景的三维特征点;步骤3,通过步骤2提取的标志球三维特征点信息,根据光线跟踪算法获得光源的空间位置;步骤4,绘制虚拟模型及其对应的阴影效果,步骤5,光源位置不变下移动虚拟物体以及模型位置不变下移动光源位置时的动态虚实融合场景中光照一致性绘制。本发明实现了虚实融合场景中光照一致性,使得对虚拟模型进行渲染更具有真实性。
Description
技术领域
本发明属于虚拟现实和人机交互方法技术领域,涉及一种基于单光源的虚实融合光照一致性绘制方法。
背景技术
增强现实已成为计算机图形学、计算机视觉等领域的研究热点,应用于教育、医疗、建筑设计、影视拍摄、军事演习等各方面,而增强现实场景中光照一致性使得用户在视觉上感觉和真实场景效果一致,增强用户体验真实感,因此光照一致性是增强现实中实现真实感的关键,特别是如何在二维图像中融合一个虚拟三维物体并使其光照一致是虚实融合的一个难题,而这难题解决中从二维图像中获得三维光照方向和光照强度更显困难。
增强现实中光照一致性研究处于初步阶段,且存在如何同时获得真实场景中光照强度和方向使得虚实融合后的场景具有一致的光照效果,且没有更好方法使虚实融合后场景进行变化而实时获得模型光照效果。如果不解决真实场景光照效果对虚拟物体的综合影响因素以及实时获得光照效果则会影响用户对增强现实场景的真实体验,使得融合后的场景更加难以让用户接受。因此,研究获取真实场景中光源的方向和强度的方法,进行实时绘制,不仅能解决通过获得真实场景进行处理获得场景中光源对应的空间位置和光照强度也能使得虚实融合场景更具有真实性。
目前对增强现实场景中光照一致性方面的研究大部分在相对固定的环境下,采取一定的方法获取真实场景中的光照强度和光照方向,进而对融合后的虚拟物体进行渲染,获得和真实场景中一致的光照效果。但是对绘制在场景中的虚拟物体进行移动或者变化场景中光源的位置时候的虚实融合光照一致性问题研究较少,方法也有待提高。
发明内容
本发明的目的是提供一种基于单光源的虚实融合光照一致性绘制方法,针对虚实融合场景下,光源方向发生改变或融入场景中的模型位置发生改变前提下光照一致性绘制问题,提出了动态融合场景下光照一致性绘制方法,使得场景中虚拟物体绘制出的光照效果和真实场景中的光照效果保持一致,实现对虚拟模型更加真实的渲染效果。
本发明所采用的技术方案是,一种基于单光源的虚实融合光照一致性绘制方法,具体按照如下步骤实施:
步骤1,在真实场景中建立已知形状、大小和颜色的标志球,通过标志球的阴影区域对真实场景中光照强度进行估计,同时读取摄像头信息获取标志球的二维图像;
步骤2,采用区域增长法进行图像分割提取标志球及其阴影,并提取场景的三维特征点;
步骤3,通过步骤2提取的标志球三维特征点信息,根据光线跟踪算法获得光源的空间位置;
步骤4,根据步骤2提取标志球及其阴影和步骤3获得光源的空间位置,在空间中绘制虚拟模型及光照效果,实现虚实融合光照一致性绘制;
步骤5,光源位置不变下移动虚拟物体以及模型位置不变下移动光源位置时的动态虚实融合场景中光照一致性绘制。
本发明的特征还在于,
步骤1具体为:
步骤1.1,借助辅助标志物方法获取真实场景中光照强度,在真实场景中建立已知形状、大小和颜色的蓝色球体作为标志球;
步骤1.2,根据光源的位置、视点方向、法向量以及采样点的位置把对场景中图像分为可视区和非可视区,提取出视角下标志球的光照可视区;
步骤1.3,步骤1.2获取场景中光照可视区,在光照可视区中进行采样点的选取,然后对每一个采样点根据Cook-Torrance光照模型估计出光照亮度;
步骤1.4,求解所有采样点光照强度的平均值,即真实场景中光源的光照强度,同时读取摄像头信息获取标志球的二维图像。
可视区就是图像显示的空间区域,非可视区就是不可显示区域,在可视区中光源能照到区域为可视光照区,光源直接照不到区域为可视非光照区。
步骤1.2具体为:
若取入射光线单位向量为H,标志球模型表面平均单位法向量为N,视线向量为F,标志球模型上采样点亮度为Lig,特征向量中采样点所属区域为Par,则:
若F和N点积小于零,视点方向和模型表面方向大于90度,则表示该点为非可视区;
若F和N点积大于零,且H和N点积大于零,则表示该点为可视光照区;
若F和N点积大于零,且H和N点积小于零,则表示该点为可视非光照区;
表达为:
其中,0、1、2分别表示非可视区、可视光照区及可视非光照区。
步骤1.3具体为:
从步骤1.2提取的标志球可视光照区内随机均匀地选择n个采样点,采样点位置用(x,y,z)表示,然后依据Cook-Torrance光照模型对多个环境光源强度的计算:
其中m是点光源个数,m=1,则公式(2)化简为:
其中,Ia是场景中光亮度,Ra是物体双向反射率,Ii是光源i亮度,dwli是光源i立体角,Rd是模型表面漫反射率,N是标志球模型表面法向量,V是视角方向单位方向向量,Li是光源i入射光线单位向量,kd、ks是双向反射率系数,kd+ks=1,Di是物体表面分布函数,Gi是衰减因子,Fi是菲涅尔项;
其中,公式(3)中的菲涅尔项Fi用公式(4)求取:
其中,i1是入射角,i2是折射角;
公式(3)中的物体表面分布函数Di用公式(5)求取:
其中,n是物体表面粗糙程度,表示标志球模型表面微小平面之间斜率的均方差,α是微平面法向量与物体表面法向量的夹角;
公式(3)中的反射光亮度衰减因子G用公式(6)求取:
若l1为0,说明入射光线不受遮挡的入射到微小平面并被反射出去,则G=1;
若l1不为0,说明微小平面有遮挡或屏蔽现象,遮挡情况下,G由式(7)求取;屏蔽情况下,G由式(8)求取:
由于反射光的亮度是由微小平面间的遮挡或者屏蔽引起,几何衰减因子取其最小值,因此,G的值表示为:
G=min(1,Gm,Gs) (9)。
步骤2具体为:
步骤2.1,采用区域分割法中的区域增长法对步骤1获取的二维图像进行分割,提取标志球及其阴影;
具体为:首先在二维图像中交互选择种子点,初始化图像,获得图像大小和每个点像素值及图像二维坐标;然后对图像进行灰度化处理,获得图像灰度均值,将种子点四领域内的点和灰度均值差的绝对值与给定阈值相比,若符合阈值,则加入种子点所在区域,并以此点作为种子点进行遍历;若不符合阈值,则属于其它区域,遍历最终将标志球及阴影分割出来;
步骤2.2,基于步骤2.1提取的标志物及阴影,获得每个阴影点二维坐标,通过场景的二维图像构建其对应的三维空间;具体为:
首先在阴影区域内任意取不共线的三点,建立阴影平面S影,设标志球与阴影平面接触点的空间坐标为A(x,y,z),其屏幕坐标为A屏(m,n),由此可求得离标志球表面最远点的空间坐标B(x1,y1,z1),根据阴影区域寻找与A屏(m,n)最远的阴影区域内点C屏(m2,n2),计算|A屏C屏|记为深度d1,取点A屏和C屏中心点D屏,在阴影区域内寻找距离D屏最近阴影点E屏,计算2|D屏E屏|记为深度d2,设C屏对应空间坐标C(x2,y2,z2),根据模型矩阵、当期的投影矩阵以及向量BC,利用图形学坐标转换原理,求得A点坐标;
步骤2.3,步骤2.2提取阴影过程中容易把标志球背面的点误判为阴影点,因此需要把标志球的背面和阴影区域分离出来;具体分离方法为:通过图像计算出标志球球心对应图像的中心位置点O,然后根据阴影区域内的点到中心位置O点的距离d和标志球的半径进行比较,取半径为r,如果d>r,则说明该点是阴影区域内的点,否则说明该点是标志球上的点。
步骤3具体为:
步骤3.1,根据步骤2.2获取标志球A空间坐标A(x,y,z),标志物球心为O(x0,y0,z0),分别选取距A点最远的标志物上点B和阴影上点C,设坐标分别为B(x1,y1,z1)、C(x2,y2,z2),选取阴影区域点集合为V,在阴影区域点集合中选取点E和F,使点E、F满足式(10):
步骤3.2,计算E、F中心点D,则P、D、O三点在同一条直线上;
步骤3.3,点光源位置P(x3,y3,z3)分别与B、C及D、O在同一条直线上,点光源P位置由式(11)获取:
其中,k1、k2为常数。
步骤4具体为:
步骤4.1,步骤3确定了真实场景中物体对应的空间坐标,然后在通过标志球阴影所在平面中利用OpenGL绘制虚拟物体,将空间中的虚拟物体融合在真实场景中,基于真实环境光照所产生阴影区域和虚拟环境所产生阴影区域具有一致性,进行虚拟模型阴影绘制;
步骤4.2,对虚拟模型进行三角面处理,通过获得的三角面和光源方向提取模型外轮廓;具体为:
首先对步骤4.1绘制的虚拟模型进行三角面化,计算每一个三角面的法向量使得法向量方向朝模型外侧,然后根据光源的法向量和三角面法向量的点积进行判断:如果点积大于零,则该三角面片在光源的表面;如果点积小于零,则该三角面面向光源,然后获得所有面向光源的三角面,并保存每个三角面的边,取离光源最近的边进行遍历,如果有两条边重复,则删除该边,遍历完所有的边,剩余的边就是模型的外轮廓;
步骤4.3,确定投影矩阵,具体为:
根据步骤3.3获取的场景中光源位置及步骤2.2获得的阴影投射平面S影,设点光源位置坐标:P(x,y,z,w),则阴影投射平面S影如式(12)所示:
ax+by+cz+d=0 (12)
设式(13)所示的矩阵M,由矩阵M可得如式(14)所示的M2:
即KM-M2=0,因此(KE-M)M=0,其中,E为4阶单位矩阵,由于M矩阵秩是1,则投影平面方程系数为矩阵M的列向量,虚拟模型视图矩阵和矩阵(KE-M)相乘为零,虚拟模型上所有点通过和矩阵(KE-M)相乘都投影到投影平面上,从而获得阴影投影矩阵(KE-M);
步骤4.4,通过步骤4.3获得的投影矩阵将步骤4.2获取的模型外轮廓投影到阴影投射面上,遍历模型上的点,判断是否在外轮廓投影平面区域内,然后将投影面上的投影区域绘制成相应的阴影效果,实现虚拟物体的光照效果。
步骤4.4具体为:由于虚拟模型外轮廓和投影平面位置不同,将虚拟模型外轮廓投射在投影平面上,选择虚拟模型上的点进行相同的投影变换,判断是否所有的点都投影到模型外轮廓投影区域内,如果都在该区域内,则投影变换提取的模型阴影区域完成,然后将阴影区域绘制成阴影效果,如果有部分点如w点没有投影到模型外轮廓的投影区域内,则看w点四邻域内点投影是不是在投影区域内,如果在的话,删除w点,否则认为模型外轮廓计算错误,重新获取模型外轮廓,重新进行绘制,最终生成阴影区域。
步骤5具体为:
步骤5.1,控制真实场景中光源方向不发生变化,在同一视角下旋转移动融合在真实场景中的虚拟模型进行光照效果渲染;
具体为:依据步骤1-步骤4,获得真实场景中光源的空间位置,绘制虚拟物体使虚实场景融合,在融合场景中渲染虚拟物体的光照效果,然后旋转融合场景中的虚拟物体,并实时地对模型进行光照效果渲染;
步骤5.2,控制同一视角下虚实模型位置和方向不发生变化,通过改变真实场景中光源的方向对模型进行光照效果的实时渲染;
具体为:根据所给场景获得场景中光源对应的空间坐标,将虚拟物体融入到真实场景中,依据步骤1-步骤4给出的阴影绘制方法和估计出的真实场景光照强度渲染出虚拟物体的光照效果,然后改变真实场景中光源的位置,重新计算光源位置和光照强度,在同一视角下保持虚拟物体位置不发生变化进行虚实融合,同时对虚拟物体进行渲染相应的光照效果。
本发明的有益效果是:
本发明提出了一种基于单光源的虚实融合光照一致性绘制方法,针对虚实融合场景下,光源方向发生改变或融入场景中的模型位置发生改变前提下光照一致性绘制问题,提出了动态融合场景下光照一致性绘制方法,使得场景中虚拟物体绘制出的光照效果和真实场景中的光照效果保持一致,实现对虚拟模型更加真实的渲染效果。
附图说明
图1是本发明一种基于单光源的虚实融合光照一致性绘制方法在真实场景中建立蓝色标志球;
图2是本发明一种基于单光源的虚实融合光照一致性绘制方法中可视光照区示意图;
图3是本发明一种基于单光源的虚实融合光照一致性绘制方法中单一点光源对标志球产生的光照效果图;
图4是本发明一种基于单光源的虚实融合光照一致性绘制方法中模型阴影与场景的分割效果图;
图5是本发明一种基于单光源的虚实融合光照一致性绘制方法中模型与阴影的分割效果图;
图6是本发明一种基于单光源的虚实融合光照一致性绘制方法中模型的空间坐标和屏幕坐标的对应关系示意图;
图7是本发明一种基于单光源的虚实融合光照一致性绘制方法中虚实融合前后场景布局示意图;
图8是本发明一种基于单光源的虚实融合光照一致性绘制方法中同一视角下虚实融合场景的光照效果绘制图;
图9是本发明一种基于单光源的虚实融合光照一致性绘制方法中不同视角下虚实融合场景的光照效果绘制图;
图10是本发明一种基于单光源的虚实融合光照一致性绘制方法中光源位置不变情况下移动虚拟物体的光照效果绘制图;
图11是本发明一种基于单光源的虚实融合光照一致性绘制方法中模型位置不变情况下改变光源方向的光照效果绘制图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于单光源的虚实融合光照一致性绘制方法,具体按照如下步骤实施:
步骤1,在真实场景中建立已知形状、大小和颜色的标志球,通过标志球的阴影区域对真实场景中光照强度进行估计,同时读取摄像头信息获取标志球的二维图像:具体为:
步骤1.1,本发明借助辅助标志物方法获取真实场景中光照强度,首先在真实场景中建立已知形状、大小和颜色的蓝色球体作为标志球,如图1所示;
步骤1.2,根据光源的位置、视点方向、法向量及采样点位置把场景中图像分为可视区和非可视区,,可视区就是图像显示的空间区域,非可视区就是不可显示区域,在可视区中光源能照到区域为可视光照区,光源直接照不到区域为可视非光照区,现提取出视角下标志球的光照可视区,具体为:
若取入射光线单位向量为H,标志球模型表面平均单位法向量为N,视线向量为F,标志球模型上采样点亮度为Lig,特征向量中采样点所属区域为Par,则:
若F和N点积小于零,视点方向和模型表面方向大于90度,则表示该点为非可视区;
若F和N点积大于零,且H和N点积大于零,则表示该点为可视光照区;
若F和N点积大于零,且H和N点积小于零,则表示该点为可视非光照区;
表达为:
其中,0、1、2表示非可视区、可视光照区及可视非光照区。
依照步骤1.1完整、准确地提取出图1真实场景中标志球的可视光照区,如图2所示,从而对光照强度估算时采样点选取提供完整的区域。
步骤1.3,步骤1.2获取场景中标志球的可视光照区,在可视光照区中进行采样点选取,然后对每一个采样点根据Cook-Torrance光照模型估计出光照强度。具体为:
从步骤1.1提取的标志球可视光照区内随机均匀地选择n个采样点,采样点位置用(x,y,z)表示。
Cook-Torrance光照模型对多个环境光源强度的计算:
其中m是点光源个数,由于本发明只考虑单一光源下的虚实融合光照一致性问题,因此m=1,则公式(2)化简为:
其中,Ia是场景中光亮度,Ra是物体双向反射率,Ii是光源i亮度,dwli是光源i立体角,Rd是模型表面漫反射率,N是标志球模型表面法向量,V是视角方向单位方向向量,Li是光源i入射光线单位向量,kd、ks是双向反射率系数,kd+ks=1,Di是物体表面分布函数,Gi是衰减因子,Fi是菲涅尔项。
公式(3)中的菲涅尔项Fi用公式(4)求取:
其中,i1是入射角,i2是折射角;
公式(3)中的物体表面分布函数Di用公式(5)求取:
其中,n是物体表面粗糙程度,表示标志球模型表面微小平面之间斜率的均方差,α是微平面法向量与物体表面法向量的夹角;
公式(3)中的反射光亮度衰减因子G用公式(6)求取:
若l1为0,说明入射光线不受遮挡的入射到微小平面并被反射出去,则G=1;
若l1不为0,说明微小平面有遮挡或屏蔽现象,遮挡情况下,G由式(7)求取;屏蔽情况下,G由式(8)求取:
由于反射光的亮度是由微小平面间的遮挡或者屏蔽引起,几何衰减因子取其最小值,因此,综合可知最终G的值表示为:
G=min(1,Gm,Gs) (9);
步骤1.4,求解步骤1.3随机选取的所有采样点的光照强度的平均值,即获取真实场景中光源的光照强度,效果如图3所示,同时读取摄像头信息获取标志球的二维图像。
步骤2,采用区域增长法进行图像分割提取标志球及其阴影,并提取场景的三维特征点。具体为:
步骤2.1,采用区域分割法中的区域增长法对步骤1获取的二维图像进行分割,提取标志球及其阴影;具体为:
首先在二维图像中交互选择种子点,初始化图像,获得图像大小和每个点像素值及图像二维坐标;然后对图像进行灰度化处理,获得图像灰度均值,将种子点四领域内的点和灰度均值差的绝对值与给定阈值相比,若符合阈值,则加入种子点所在区域,并以此点作为种子点进行遍历;若不符合阈值,则属于其它区域,遍历最终将标志球及阴影分割出来。
图4(a)是标志球及阴影所在区域,图4(b)是通过步骤2.1分割出的模型及阴影区域,由此可见分割效果良好,能较为准确完整地分割出模型所在场景的区域范围。图5(a)分别是模型所在区域和模型分割结果,图5(b)分别是阴影所在区域和阴影分割结果,图中效果反映出本发明所提供算法能够较为准确完整的实现标志球及阴影区域的分割。
步骤2.2,基于步骤2.1提取的标志物及阴影,获得每个阴影点二维坐标,通过场景的二维图像构建其对应的三维空间;具体为:
首先在阴影区域内任意取不共线的三点,建立阴影平面S影,如图6所示,设标志球与阴影平面接触点的空间坐标为A(x,y,z),其屏幕坐标为A屏(m,n),由此可求得离标志球表面最远点的空间坐标B(x1,y1,z1),根据阴影区域寻找与A屏(m,n)最远的阴影区域内点C屏(m2,n2),计算|A屏C屏|记为深度d1,取点A屏和C屏中心点D屏,在阴影区域内寻找距离D屏最近阴影点E屏,计算2|D屏E屏|记为深度d2,设C屏对应空间坐标C(x2,y2,z2),根据模型矩阵、当期的投影矩阵以及向量BC,利用图形学坐标转换原理,求得A点坐标;
步骤2.3,步骤2.2提取阴影过程中容易把标志球背面的点误判为阴影点,因此需要把标志球的背面和阴影区域分离出来;具体分离方法为:通过图像计算出标志球球心对应图像的中心位置点O,然后根据阴影区域内的点到中心位置O点的距离d和标志球的半径进行比较,取半径为r,如果d>r,则说明该点是阴影区域内的点,否则说明该点是标志球上的点。
步骤3,通过步骤2提取的标志球三维特征点信息,根据光线跟踪算法获得真实场景中光源对应的空间位置;具体为:
步骤3.1,根据步骤2.2获取标志球A空间坐标A(x,y,z),标志物球心为O(x0,y0,z0),分别选取距A点最远的标志物上点B和阴影上点C,设坐标分别为B(x1,y1,z1)、C(x2,y2,z2),选取阴影区域点集合为V,在阴影区域点集合中选取点E和F,使点E、F满足式(10):
步骤3.2,计算E、F中心点D,则P、D、O三点在同一条直线上;
步骤3.3,点光源位置P(x3,y3,z3)分别与B、C及D、O在同一条直线上,点光源P位置由式(11)获取:
其中,k1、k2为常数;
步骤4,根据步骤2提取标志球及其阴影和步骤3获得光源的空间位置,在空间中绘制虚拟模型及光照效果,实现虚实融合光照一致性绘制;
步骤4.1,步骤3确定了真实场景中物体对应的空间坐标,然后在通过标志球阴影所在平面中利用OpenGL绘制虚拟物体,将空间中的虚拟物体融合在真实场景中,效果如图7所示,下面基于真实环境光照所产生阴影区域和虚拟环境所产生阴影区域具有一致性,进行虚拟模型阴影绘制;
步骤4.2,对虚拟模型进行三角面处理,通过获得的三角面和光源方向提取模型外轮廓;具体为:
首先对步骤4.1绘制的虚拟模型进行三角面化,计算每一个三角面的法向量使得法向量方向朝模型外侧,然后根据光源的法向量和三角面法向量的点积进行判断:如果点积大于零,则该三角面片在光源的表面;如果点积小于零,则该三角面面向光源。然后获得所有面向光源的三角面,并保存每个三角面的边,取离光源最近的边进行遍历,如果有两条边重复,则删除该边,遍历完所有的边,剩余的边就是模型的外轮廓;
步骤4.3,确定投影矩阵,具体为:
根据步骤3.3获取的场景中光源位置及步骤2.2获得的阴影投射平面S影,设点光源位置坐标:P(x,y,z,w),则阴影投射平面S影如式(12)所示:
ax+by+cz+d=0 (12)
设式(13)所示的矩阵M,由矩阵M可得如式(14)所示的M2:
即KM-M2=0,因此(KE-M)M=0,其中,E为4阶单位矩阵,由于M矩阵秩是1,则投影平面方程系数为矩阵M的列向量,虚拟模型视图矩阵和矩阵(KE-M)相乘为零,虚拟模型上所有点通过和矩阵(KE-M)相乘都投影到投影平面上,从而获得阴影投影矩阵(KE-M);
步骤4.4,通过步骤4.3获得的投影矩阵将步骤4.2获取的模型外轮廓投影到阴影投射面上,遍历模型上的点,判断是否在外轮廓投影平面区域内,然后将投影面上的投影区域绘制成相应的阴影效果,实现虚拟物体的光照效果;具体为:
由于虚拟模型外轮廓和投影平面位置不同,将虚拟模型外轮廓投射在投影平面上,选择虚拟模型上的点进行相同的投影变换,判断是否所有的点都投影到模型外轮廓投影区域内,如果都在该区域内,则投影变换提取的模型阴影区域完成,然后将阴影区域绘制成阴影效果,如果有部分点如w点没有投影到模型外轮廓的投影区域内,则看w点四邻域内点投影是不是在投影区域内,如果在的话,删除w点,否则认为模型外轮廓计算错误,重新获取模型外轮廓,重新进行绘制,最终生成阴影区域。
图8是虚拟物体和真实场景布局后虚实融合在同一视角下的光照效果绘制图,图9是不同视角下虚实融合场景光照效果图,由此可见本发明较为准确有效地实现了增强现实场景中光照一致的融合效果。
步骤5.光源位置不变下移动虚拟物体以及模型位置不变下移动光源位置时的动态虚实融合场景中光照一致性绘制。
动态融合场景分为三种:第一,融合场景中光源位置不发生变化而模型在视角下变化;第二,模型在视角下固定不变而真实场景中光源位置发生变化;第三,融合场景中光源位置和模型在视角下都发生变化。第三种可归纳于前两者之内,由于物体之间的动态变化是相互的,而且基于真实场景中光源位置变化或者虚拟物体变化可以包含所有动态变化情况中的所有可能,因此本发明实验只考虑在同一视角下光源位置和模型一动一静的情况。
步骤5.1,控制真实场景中光源方向不发生变化,在同一视角下旋转移动融合在真实场景中的虚拟模型进行光照效果渲染,获取了不同时刻下对模型光照效果渲染的结果;
具体为:通过本发明给出的提取真实场景中光源对应空间位置的方法,获得真实场景中光源的空间位置,绘制虚拟物体使虚实场景融合,根据本发明算法在融合场景中渲染虚拟物体的光照效果,然后旋转融合场景中的虚拟物体,并实时地对模型进行光照效果渲染,在此光照效果渲染的过程中根据时间间隔获得相应的实验效果图,在此选取了三个不同时刻对虚拟物体进行光照渲染的实验结果,如图10所示。
实验效果证明本发明有效地完成在同一视角下真实场景中光源方向不发生变化的基础上虚拟模型移动时的光照一致性绘制。
步骤5.2,控制同一视角下虚实模型位置和方向不发生变化,通过改变真实场景中光源的方向对模型进行光照效果的实时渲染。
具体为:根据所给场景获得场景中光源对应的空间坐标,将虚拟物体融入到真实场景中,依据本发明给出的阴影绘制方法和估计出的真实场景光照强度渲染出虚拟物体的光照效果,然后改变真实场景中光源的位置,重新计算光源位置和光照强度,在同一视角下保持虚拟物体位置不发生变化进行虚实融合,同时对虚拟物体进行渲染相应的光照效果,以此进行迭代处理,在此过程中获得虚拟物体进行光照效果渲染使不同时刻的实验效果图,此处选取三个时刻对虚拟物体进行光照渲染的实验结果,如图11所示。
实验效果证明本发明有效地完成在同一视角下真实场景中光源方向不发生变化的基础上虚拟模型移动时的光照一致性绘制。
因此本发明有效地实现了在同一视角下真实场景光源方向发生改变或者融入场景中的模型位置和方向进行改变所生成的光照效果和真实场景中的光照效果保持一致。
本发明针对虚实融合场景下,光源方向发生改变或融入场景中的模型位置发生改变前提下光照一致性绘制问题,提出了动态融合场景下光照一致性绘制方法,使得场景中虚拟物体绘制出的光照效果和真实场景中的光照效果保持一致,实现对虚拟模型更加真实的渲染效果。
Claims (8)
1.一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,具体按照如下步骤实施:
步骤1,在真实场景中建立已知形状、大小和颜色的标志球,通过标志球的阴影区域对真实场景中光照强度进行估计,同时读取摄像头信息获取标志球的二维图像;
步骤2,采用区域增长法进行图像分割提取标志球及其阴影,并提取场景的三维特征点;具体为:
步骤2.1,采用区域分割法中的区域增长法对步骤1获取的二维图像进行分割,提取标志球及其阴影;
具体为:首先在二维图像中交互选择种子点,初始化图像,获得图像大小和每个点像素值及图像二维坐标;然后对图像进行灰度化处理,获得图像灰度均值,将种子点四领域内的点和灰度均值差的绝对值与给定阈值相比,若符合阈值,则加入种子点所在区域,并以此点作为种子点进行遍历;若不符合阈值,则属于其它区域,遍历最终将标志球及阴影分割出来;
步骤2.2,基于步骤2.1提取的标志物及阴影,获得每个阴影点二维坐标,通过场景的二维图像构建其对应的三维空间;具体为:
首先在阴影区域内任意取不共线的三点,建立阴影平面S影,设标志球与阴影平面接触点的空间坐标为A(x,y,z),其屏幕坐标为A屏(m,n),由此可求得离标志球表面最远点的空间坐标B(x1,y1,z1),根据阴影区域寻找与A屏(m,n)最远的阴影区域内点C屏(m2,n2),计算|A屏C屏|记为深度d1,取点A屏和C屏中心点D屏,在阴影区域内寻找距离D屏最近阴影点E屏,计算2|D屏E屏|记为深度d2,设C屏对应空间坐标C(x2,y2,z2),根据模型矩阵、当期的投影矩阵以及向量BC,利用图形学坐标转换原理,求得A点坐标;
步骤2.3,步骤2.2提取阴影过程中容易把标志球背面的点误判为阴影点,因此需要把标志球的背面和阴影区域分离出来;具体分离方法为:通过图像计算出标志球球心对应图像的中心位置点O,然后根据阴影区域内的点到中心位置O点的距离d和标志球的半径进行比较,取半径为r,如果d>r,则说明该点是阴影区域内的点,否则说明该点是标志球上的点;
步骤3,通过步骤2提取的标志球三维特征点信息,根据光线跟踪算法获得光源的空间位置;具体为:
步骤3.1,根据步骤2.2获取标志球A空间坐标A(x,y,z),标志物球心为O(x0,y0,z0),分别选取距A点最远的标志物上点B和阴影上点C,设坐标分别为B(x1,y1,z1)、C(x2,y2,z2),选取阴影区域点集合为V,在阴影区域点集合中选取点E和F,使点E、F满足式(10):
步骤3.2,计算E、F中心点D,则P、D、O三点在同一条直线上;
步骤3.3,点光源位置P(x3,y3,z3)分别与B、C及D、O在同一条直线上,点光源P位置由式(11)获取:
其中,k1、k2为常数;
步骤4,根据步骤2提取标志球及其阴影和步骤3获得光源的空间位置,在空间中绘制虚拟模型及光照效果,实现虚实融合光照一致性绘制;
步骤5,光源位置不变下移动虚拟物体以及模型位置不变下移动光源位置时的动态虚实融合场景中光照一致性绘制。
2.根据权利要求1所述的一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,所述步骤1具体为:
步骤1.1,借助辅助标志物方法获取真实场景中光照强度,在真实场景中建立已知形状、大小和颜色的蓝色球体作为标志球;
步骤1.2,根据光源的位置、视点方向、法向量以及采样点的位置把对场景中图像分为可视区和非可视区,提取出视角下标志球的光照可视区;
步骤1.3,步骤1.2获取场景中光照可视区,在光照可视区中进行采样点的选取,然后对每一个采样点根据Cook-Torrance光照模型估计出光照亮度;
步骤1.4,求解所有采样点光照强度的平均值,即真实场景中光源的光照强度,同时读取摄像头信息获取标志球的二维图像。
3.根据权利要求2所述的一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,所述可视区就是图像显示的空间区域,非可视区就是不可显示区域,在可视区中光源能照到区域为可视光照区,光源直接照不到区域为可视非光照区。
5.根据权利要求4所述的一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,所述步骤1.3具体为:
从步骤1.2提取的标志球可视光照区内随机均匀地选择n个采样点,采样点位置用(x,y,z)表示,然后依据Cook-Torrance光照模型对多个环境光源强度的计算:
其中m是点光源个数,m=1,则公式(2)化简为:
其中,Ia是场景中光亮度,Ra是物体双向反射率,Ii是光源i亮度,dwli是光源i立体角,Rd是模型表面漫反射率,N是标志球模型表面法向量,V是视角方向单位方向向量,Li是光源i入射光线单位向量,kd、ks是双向反射率系数,kd+ks=1,Di是物体表面分布函数,Gi是衰减因子,Fi是菲涅尔项;
其中,公式(3)中的菲涅尔项Fi用公式(4)求取:
其中,i1是入射角,i2是折射角;
公式(3)中的物体表面分布函数Di用公式(5)求取:
其中,n是物体表面粗糙程度,表示标志球模型表面微小平面之间斜率的均方差,α是微平面法向量与物体表面法向量的夹角;
公式(3)中的反射光亮度衰减因子G用公式(6)求取:
若l1为0,说明入射光线不受遮挡的入射到微小平面并被反射出去,则G=1;
若l1不为0,说明微小平面有遮挡或屏蔽现象,遮挡情况下,G由式(7)求取;屏蔽情况下,G由式(8)求取:
由于反射光的亮度是由微小平面间的遮挡或者屏蔽引起,几何衰减因子取其最小值,因此,G的值表示为:
G=min(1,Gm,Gs) (9)。
6.根据权利要求1所述的一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,所述步骤4具体为:
步骤4.1,步骤3确定了真实场景中物体对应的空间坐标,然后在通过标志球阴影所在平面中利用OpenGL绘制虚拟物体,将空间中的虚拟物体融合在真实场景中,基于真实环境光照所产生阴影区域和虚拟环境所产生阴影区域具有一致性,进行虚拟模型阴影绘制;
步骤4.2,对虚拟模型进行三角面处理,通过获得的三角面和光源方向提取模型外轮廓;具体为:
首先对步骤4.1绘制的虚拟模型进行三角面化,计算每一个三角面的法向量使得法向量方向朝模型外侧,然后根据光源的法向量和三角面法向量的点积进行判断:如果点积大于零,则该三角面片在光源的表面;如果点积小于零,则该三角面面向光源,然后获得所有面向光源的三角面,并保存每个三角面的边,取离光源最近的边进行遍历,如果有两条边重复,则删除该边,遍历完所有的边,剩余的边就是模型的外轮廓;
步骤4.3,确定投影矩阵,具体为:
根据步骤3.3获取的场景中光源位置及步骤2.2获得的阴影投射平面S影,设点光源位置坐标:P(x,y,z,w),则阴影投射平面S影如式(12)所示:
ax+by+cz+d=0 (12)
设式(13)所示的矩阵M,由矩阵M可得如式(14)所示的M2:
即KM-M2=0,因此(KE-M)M=0,其中,E为4阶单位矩阵,由于M矩阵秩是1,则投影平面方程系数为矩阵M的列向量,虚拟模型视图矩阵和矩阵(KE-M)相乘为零,虚拟模型上所有点通过和矩阵(KE-M)相乘都投影到投影平面上,从而获得阴影投影矩阵(KE-M);
步骤4.4,通过步骤4.3获得的投影矩阵将步骤4.2获取的模型外轮廓投影到阴影投射面上,遍历模型上的点,判断是否在外轮廓投影平面区域内,然后将投影面上的投影区域绘制成相应的阴影效果,实现虚拟物体的光照效果。
7.根据权利要求6所述的一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,所述步骤4.4具体为:由于虚拟模型外轮廓和投影平面位置不同,将虚拟模型外轮廓投射在投影平面上,选择虚拟模型上的点进行相同的投影变换,判断是否所有的点都投影到模型外轮廓投影区域内,如果都在该区域内,则投影变换提取的模型阴影区域完成,然后将阴影区域绘制成阴影效果,如果有部分点如w点没有投影到模型外轮廓的投影区域内,则看w点四邻域内点投影是不是在投影区域内,如果在的话,删除w点,否则认为模型外轮廓计算错误,重新获取模型外轮廓,重新进行绘制,最终生成阴影区域。
8.根据权利要求7所述的一种基于单光源的虚实融合光照一致性绘制方法,其特征在于,所述步骤5具体为:
步骤5.1,控制真实场景中光源方向不发生变化,在同一视角下旋转移动融合在真实场景中的虚拟模型进行光照效果渲染;
具体为:依据步骤1-步骤4,获得真实场景中光源的空间位置,绘制虚拟物体使虚实场景融合,在融合场景中渲染虚拟物体的光照效果,然后旋转融合场景中的虚拟物体,并实时地对模型进行光照效果渲染;
步骤5.2,控制同一视角下虚实模型位置和方向不发生变化,通过改变真实场景中光源的方向对模型进行光照效果的实时渲染;
具体为:根据所给场景获得场景中光源对应的空间坐标,将虚拟物体融入到真实场景中,依据步骤1-步骤4给出的阴影绘制方法和估计出的真实场景光照强度渲染出虚拟物体的光照效果,然后改变真实场景中光源的位置,重新计算光源位置和光照强度,在同一视角下保持虚拟物体位置不发生变化进行虚实融合,同时对虚拟物体进行渲染相应的光照效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911379770.0A CN111145341B (zh) | 2019-12-27 | 2019-12-27 | 一种基于单光源的虚实融合光照一致性绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911379770.0A CN111145341B (zh) | 2019-12-27 | 2019-12-27 | 一种基于单光源的虚实融合光照一致性绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111145341A CN111145341A (zh) | 2020-05-12 |
CN111145341B true CN111145341B (zh) | 2023-04-28 |
Family
ID=70521155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911379770.0A Active CN111145341B (zh) | 2019-12-27 | 2019-12-27 | 一种基于单光源的虚实融合光照一致性绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111145341B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633372B (zh) * | 2020-12-22 | 2023-03-24 | 三星电子(中国)研发中心 | 一种ar设备的光源估计方法和装置 |
CN114820906B (zh) * | 2022-06-24 | 2022-11-22 | 北京百度网讯科技有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN115965740B (zh) * | 2023-03-14 | 2023-05-12 | 北京天图万境科技有限公司 | 一种感知材质识别的光场重建的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096941A (zh) * | 2011-01-30 | 2011-06-15 | 北京航空航天大学 | 虚实融合环境下的光照一致性方法 |
CN102426695A (zh) * | 2011-09-30 | 2012-04-25 | 北京航空航天大学 | 一种单幅图像场景的虚实光照融合方法 |
WO2017167084A1 (zh) * | 2016-03-29 | 2017-10-05 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
WO2018045759A1 (zh) * | 2016-09-07 | 2018-03-15 | 中兴通讯股份有限公司 | 一种增强现实中进行光照渲染的方法、装置及移动终端 |
-
2019
- 2019-12-27 CN CN201911379770.0A patent/CN111145341B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096941A (zh) * | 2011-01-30 | 2011-06-15 | 北京航空航天大学 | 虚实融合环境下的光照一致性方法 |
CN102426695A (zh) * | 2011-09-30 | 2012-04-25 | 北京航空航天大学 | 一种单幅图像场景的虚实光照融合方法 |
WO2017167084A1 (zh) * | 2016-03-29 | 2017-10-05 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
WO2018045759A1 (zh) * | 2016-09-07 | 2018-03-15 | 中兴通讯股份有限公司 | 一种增强现实中进行光照渲染的方法、装置及移动终端 |
CN107808409A (zh) * | 2016-09-07 | 2018-03-16 | 中兴通讯股份有限公司 | 一种增强现实中进行光照渲染的方法、装置及移动终端 |
Non-Patent Citations (1)
Title |
---|
滕慧举 ; 陈一民 ; 黄晨 ; 马德宜 ; .增强现实中的光照一致性研究.计算机应用与软件.2014,(12),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111145341A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112509151B (zh) | 一种教学场景中虚拟对象的真实感生成方法 | |
CN111145341B (zh) | 一种基于单光源的虚实融合光照一致性绘制方法 | |
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
Sugano et al. | The effects of shadow representation of virtual objects in augmented reality | |
CN107945267B (zh) | 一种用于人脸三维模型纹理融合的方法和设备 | |
CN107341853B (zh) | 超大虚拟场景和动态摄屏的虚实融合方法及系统 | |
Wanger et al. | Perceiving spatial relationships in computer-generated images | |
Asayama et al. | Fabricating diminishable visual markers for geometric registration in projection mapping | |
Sawhney et al. | Video flashlights: real time rendering of multiple videos for immersive model visualization | |
US8218903B2 (en) | 3D object scanning using video camera and TV monitor | |
Tian et al. | Handling occlusions in augmented reality based on 3D reconstruction method | |
CN109887030A (zh) | 基于cad稀疏模板的无纹理金属零件图像位姿检测方法 | |
MacDonald et al. | Polynomial texture mapping and 3d representations | |
CN107168534B (zh) | 一种基于cave系统的渲染优化方法及投影方法 | |
KR20090007271A (ko) | 이미지의 2 계층이며, 삼차원인 표현을 생성하기 위한 시스템 및 방법 | |
EP1371019A2 (en) | Real-time virtual viewpoint in simulated reality environment | |
Starck et al. | The multiple-camera 3-d production studio | |
Watanabe et al. | Extended dot cluster marker for high-speed 3d tracking in dynamic projection mapping | |
WO2023004559A1 (en) | Editable free-viewpoint video using a layered neural representation | |
US5793372A (en) | Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points | |
Feng | Estimation of light source environment for illumination consistency of augmented reality | |
Lee et al. | Real time 3D avatar for interactive mixed reality | |
Lee et al. | Estimation of illuminants for plausible lighting in augmented reality | |
Zhang et al. | Real-Time 3-D Reconstruction for Facilitating the Development of Game-based Virtual Laboratories | |
Engel et al. | Evaluating the Perceptual Impact of Rendering Techniques on Thematic Color Mappings in 3D Virtual Environments. |
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 |