CN114125310B - 拍照方法、终端设备及云端服务器 - Google Patents

拍照方法、终端设备及云端服务器 Download PDF

Info

Publication number
CN114125310B
CN114125310B CN202210094573.XA CN202210094573A CN114125310B CN 114125310 B CN114125310 B CN 114125310B CN 202210094573 A CN202210094573 A CN 202210094573A CN 114125310 B CN114125310 B CN 114125310B
Authority
CN
China
Prior art keywords
scene
target
virtual
picture
initial picture
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
CN202210094573.XA
Other languages
English (en)
Other versions
CN114125310A (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.)
Shanghai Glory Smart Technology Development Co ltd
Original Assignee
Honor Device Co Ltd
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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210094573.XA priority Critical patent/CN114125310B/zh
Publication of CN114125310A publication Critical patent/CN114125310A/zh
Application granted granted Critical
Publication of CN114125310B publication Critical patent/CN114125310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例提供一种拍照方法、终端设备及云端服务器,涉及计算机视觉技术领域。在本申请方案中,当用户在特定地点进行拍照时,云端服务器可以根据来自终端设备的场景信息、初始图片和位姿数据,确定终端设备在该特定地点的精确位姿,并生成与该场景信息对应的虚拟场景。然后,终端设备可以根据虚拟场景对初始图片进行处理,实现了逼真的AR效果,例如天气效果、季节效果或时间效果等,从而增强了该地点的拍照效果,进而提高了用户的拍照体验。

Description

拍照方法、终端设备及云端服务器
技术领域
本申请涉及计算机视觉技术领域,尤其涉及一种拍照方法、终端设备及云端服务器。
背景技术
目前,终端设备普遍具备了拍照功能。在用户出行、逛街或旅游时,用户随时可以使用终端设备进行拍照,以记录周围景色和精彩瞬间等。
然而,拍照经常受到天气、季节或时间等限制,使得用户无法拍到满意的照片。例如,当用户在雨天游览草原时,无法拍摄到草原在晴空万里时的壮观景色;又例如,当用户在夏季游览冰川时,仅能拍摄到融化后的部分冰川;再例如,当用户到达山顶时已经错过了日出,无法拍摄到日出景色。因此传统的拍照方式降低了用户拍照体验。
发明内容
本申请提供一种拍照方法、终端设备及云端服务器,解决了由于天气、季节或时间等拍摄场景限制,导致用户拍照体验受限的技术问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种拍照方法。该方法包括:
向云端服务器发送场景信息、初始图片和位姿数据,场景信息用于指示用户期望在目标地点模拟的拍摄场景,初始图片为终端设备在目标地点拍摄的图片,位姿数据用于指示终端设备拍摄初始图片时的初始位姿,场景信息、初始图片和位姿数据用于生成虚拟场景;
接收来自云端服务器的目标虚拟场景,目标虚拟场景为包含至少一个虚拟物体的二维图像,一个虚拟物体的语义与初始图片的一个真实物体的语义相同;
根据目标虚拟场景处理初始图片,得到合成图片。
通过该方案,终端设备通过向云端服务器发送用于指示用户期望在目标地点模拟的拍摄场景的场景信息,在目标地点拍摄的初始图片,以及用于指示终端设备拍摄初始图片时的初始位姿的位姿数据,使得云端服务器可以根据场景信息、初始图片和位姿数据,生成目标虚拟场景。然后,终端设备可以根据目标虚拟场景对初始图片进行处理,从而得到合成图片,从而实现逼真的AR效果,例如天气效果、季节效果或时间效果等,进而增强了该地点的拍照效果,进而提高了用户的拍照体验。
在一些实施例中,用户期望在目标地点模拟的拍摄场景包括以下至少一项:目标天气的拍摄场景、目标季节的拍摄场景、目标节气的拍摄场景、目标时间的拍摄场景和目标风格的拍摄场景。
在一些实施例中,根据目标虚拟场景处理初始图片,包括:
将初始图片中与虚拟物体的语义匹配的真实物体,替换为虚拟物体。
在一些实施例中,根据目标虚拟场景处理初始图片,还包括:
调整虚拟物体与初始图片的真实物体的深度位置关系;
和/或,
对初始图片的渲染虚拟环境光。
在一些实施例中,调整虚拟物体与初始图片的真实物体的深度位置关系,包括:
确定虚拟物体的深度值以及初始图片的真实物体的深度值;
根据虚拟物体的深度值以及初始图片的真实物体的深度值,调整虚拟物体与初始图片的真实物体的深度位置关系。
在一些实施例中,虚拟物体包括第一虚拟物体和第二虚拟物体,初始图片包括第一真实物体和第二真实物体,第一虚拟物体的语义与第一真实物体的语义匹配,第一虚拟物体的语义与第二真实物体的语义不匹配,第二虚拟物体的语义与第一真实物体和第二真实物体的语义均不匹配;
将初始图片中与虚拟物体的语义匹配的真实物体,替换为虚拟物体,包括:
将第一真实物体替换为第一虚拟物体;
根据虚拟物体的深度值以及初始图片的真实物体的深度值,调整虚拟物体与初始图片的真实物体的深度位置关系,包括:
根据第一虚拟物体的深度值、第二虚拟物体的深度值和第二真实物体的深度值,调整第一虚拟物体、第二虚拟物体和第二真实物体的深度位置关系。
在一些实施例中,对初始图片的渲染虚拟环境光,包括:
确定与目标虚拟场景对应的光照球谐系数;
按照与目标虚拟场景对应的光照球谐系数,对初始图片的渲染虚拟环境光。
在一些实施例中,按照与目标虚拟场景对应的光照球谐系数,对初始图片的渲染虚拟环境光之前,该方法还包括:
确定初始图片的光照球谐系数;
根据初始图片的光照球谐系数,移除初始图片的环境光。
在一些实施例中,向云端服务器发送场景信息、初始图片和位姿数据之前,该方法还包括:
响应于用户对终端设备的拍摄场景的选择操作,生成场景信息;
响应于用户对终端设备的拍摄操作,获取初始图片,并通过传感器采集位姿数据。
第二方面,本申请实施例提供一种拍照方法,该方法包括:
接收来自终端设备的场景信息、初始图片和位姿数据,场景信息用于指示用户期望在目标地点模拟的拍摄场景,初始图片为终端设备在目标地点拍摄的图片,位姿数据用于指示终端设备拍摄初始图片时的初始位姿;
根据场景信息、初始图片和位姿数据,生成目标虚拟场景,目标虚拟场景为包含虚拟物体的二维图像,虚拟物体的语义与初始图片的真实物体的语义匹配;
向终端设备发送目标虚拟场景,目标虚拟场景用于生成合成图片。
通过该方案,云端服务器可以根据终端设备发送的用于指示用户期望在目标地点模拟的拍摄场景的场景信息,在目标地点拍摄的初始图片,以及用于指示终端设备拍摄初始图片时的初始位姿的位姿数据,生成目标虚拟场景,如此使得终端设备可以根据目标虚拟场景生成合成图片,从而实现逼真的AR效果,例如天气效果、季节效果或时间效果等,从而增强了该地点的拍照效果,进而提高了用户的拍照体验。
在一些实施例中,用户期望在目标地点模拟的拍摄场景包括以下至少一项:目标天气的拍摄场景、目标季节的拍摄场景、目标节气的拍摄场景、目标时间的拍摄场景和目标风格的拍摄场景。
在一些实施例中,根据场景信息、初始图片和位姿数据,生成目标虚拟场景,包括:
根据场景信息、初始图片和位姿数据,从预先建立的场景模型集合中确定目标场景模型,并确定终端设备拍摄初始图片时的精确位姿,场景模型集合由与多个地点的每个语义对象对应的场景模型组成;
根据目标场景模型和精确位姿,生成目标虚拟场景。
在一些实施例中,根据场景信息、初始图片和位姿数据,从预先建立的场景模型集合中确定目标场景模型,并确定终端设备拍摄初始图片时的精确位姿,包括:
根据位姿数据,从云端图像数据库中确定满足位姿数据的初始图像集合,云端图像数据库包含了用于建立场景模型集合的图像;
对初始图片和初始图像集合进行目标信息提取和匹配,并根据目标信息提取和匹配的结果,从初始图像集合中确定目标图片,目标信息包括图像特征和/或语义信息;
根据初始图片以及由目标图片建立的场景模型,确定终端设备拍摄初始图片时的精确位姿;
从场景模型子集合中确定符合场景信息的多个场景模型,并将多个场景模型组合为目标场景模型,场景模型子集合由场景模型集合中与目标图片的语义对象对应的场景模型组成。
在一些实施例中,对初始图片和初始图像集合进行目标信息提取和匹配,并根据目标信息提取和匹配的结果,从初始图像集合中确定目标图片,包括:
采用第一提取算法,提取初始图片和初始图像集合的图像特征;
根据初始图片和初始图像集合的图像特征的匹配结果,从初始图像集合中确定出图像候选集;
采用第二提取算法,提取初始图片和图像候选集的图像特征和语义信息;
根据初始图片和图像候选集的图像特征和语义信息的匹配结果,从图像候选集中确定出目标图片;
其中,第一提取算法和第二提取算法不同。
在一些实施例中,与一个地点的每个语义对象对应场景模型,通过下述方式创建:
获取一个地点的多个图像;
提取多个图像的图像特征和语义信息,语义信息用于指示语义对象的语义;
根据多个图像的图像特征的匹配结果,为一个地点的每个语义对象分别创建至少一个场景模型。
第三方面,本申请提供一种终端设备,该设备包括用于执行上述第一方面的方法的模块。该设备可对应于执行上述第一方面描述的方法,该设备中的模块的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
第四方面,本申请提供一种云端服务器,该服务器包括用于执行上述第二方面的方法的模块。该服务器可对应于执行上述第二方面描述的方法,该服务器中的模块的相关描述请参照上述第二方面的描述,为了简洁,在此不再赘述。
第五方面,本申请提供一种终端设备,包括处理器和通信接口,该处理器与存储器耦合,该处理器用于执行该存储器中存储的计算机程序或指令,以使得终端设备实现如上述第一方面描述的拍照方法。
第六方面,本申请提供一种云端服务器,包括处理器和通信接口,该处理器与存储器耦合,该处理器用于执行该存储器中存储的计算机程序或指令,以使得云端服务器实现如上述第二方面描述的拍照方法。
第七方面,本申请提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序,以实现如第一方面或者第二方面描述的拍照方法。
第八方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当计算机程序在终端设备上运行时,使得终端设备执行如第一方面描述的拍照方法,或者,当计算机程序在云端服务器上运行时,使得云端服务器执行如第二方面描述的拍照方法。
第九方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或者第二方面描述的拍照方法。
可以理解的是,上述第三方面至第九方面的有益效果可以参见上述第一方面和第二方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的通信系统的示意图;
图2为本申请实施例提供的拍照方法的总示意图;
图3为本申请一实施例提供的拍照方法的交互流程图;
图4为本申请实施例提供的用户选择场景的操作示意图;
图5为本申请实施例提供的与不同位姿对应的三维数据子集合的示意图;
图6为本申请实施例提供的物体与像素平面的距离的示意图;
图7为本申请实施例提供的与图6的物体对应的图片的示意图;
图8为本申请实施例提供的对初始图片重打光的示意图;
图9为本申请实施例提供的场景建模及场景更新的流程示意图;
图10为本申请实施例提供的VPS定位的流程示意图;
图11为本申请实施例提供的利用P3P算法求解终端设备的精确位姿的示意图;
图12为本申请实施例提供的用于光照估计的网络结构的示意图;
图13为本申请实施例提供的用于深度估计的网络结构的示意图;
图14为本申请再一实施例提供的拍照方法的交互流程图;
图15为本申请实施例提供的终端设备的硬件结构示意图;
图16为本申请实施例提供的云端服务器的硬件结构示意图;
图17为本申请实施例提供的终端设备的示意性框图;
图18为本申请实施例提供的云端服务器的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,本申请实施例中的“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
首先对本申请中涉及的一些名词或者术语进行解释说明。
增强现实(augmented reality,AR),也被称为混合现实,是一种实时地计算相机的位置及角度,然后加上相应的图像,从而将虚拟世界和真实世界叠加到同一个画面或空间的技术。该技术的目标是在屏幕上把虚拟世界叠加到现实世界并进行互动。
视觉定位服务(visual positioning service,VPS)是一种建立在大规模场景重建与理解、视觉定位与追踪技术基础上的AR服务。VPS可以用于实现真实环境识别与虚拟场景的精准定位和融合叠加,以及大场景物理世界的交互。与全球定位系统(globalpositioning system,GPS)定位有所不同,VPS融合了由摄像头及其他传感器采集的数据,对室内或室外场景进行精准定位,并支持虚拟内容叠加显示,具有精准空间定位、高精地图三维重建和虚实融合叠加的功能。需要说明的是,本申请实施例的VPS主要用于根据由摄像头及其他传感器采集的数据,计算终端设备的位姿。
虚拟场景:是指应用程序在终端设备上运行时显示的虚拟的场景。本申请实施例的虚拟场景可以是对真实世界的仿真环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种。例如,虚拟场景可以包括天空、陆地和海洋等,该陆地可以包括沙漠和城市等环境元素。
虚拟物体:是指在虚拟场景中包含的物体。该物体可以是虚拟植物、虚拟动物和虚拟物品等,比如:在虚拟场景中显示的雨滴、积雪、太阳、动物、植物、树木、云朵和岩石等。虚拟场景中可以包括多个虚拟物体,每个虚拟物体在虚拟场景中具有自身的形状和体积。需要说明的是,本申请实施例中的虚拟物体是在对真实世界的物体建模及仿真后,生成的物体。
投影n点(pespective-n-point,PnP)求解算法,是指通过n个三维(3-dimension,3D)与二维(2-dimension,2D)的匹配点对,在已知或者未知相机内参的情况下,利用最小化重投影误差,求解相机外参的算法。即,在已知n个三维空间点坐标及其二维投影位置的情况下,估计相机位姿的算法。
世界坐标系(world coordinates)是指在真实的物理环境中建立,用于描述物体位置的三维坐标系,因此世界坐标系也称为绝对坐标系、全局坐标系。
渲染(render)是指在计算机图形学领域,将三维场景中的模型,按照设定好的环境、灯光、材质和/或渲染参数,二维投影成数字图像的过程。其包含了两个过程:结算视频编辑文件中的效果的过程,生成最终视频输出的过程。本申请实施例主要涉及将虚拟场景中的虚拟物体,以二维形式渲染在用户拍摄的初始图片上,并输出最终的合成图片。
深度估计(depth estimation)是指利用一张或者至少一个视角下的三原色(redgreen blue,RGB)图像,估计图像中每个像素或对象相对拍摄源(例如花草树木)的距离的技术。
光照估计(lighting estimation)是指从图片中获取光照信息,用来估计某个场景中的光照情况的技术。光照估计在AR应用中非常重要,它可以让虚拟物体更加贴合真实环境,符合所处位置的明暗和阴影等特征。
重光照(relighting),也称为重打光,是一种在新的光照或光源下重新渲染图像的技术。通常使用的重光照方法包括基于图像的重光照(image-based relighting,IBR)和基于图像的绘制(image-based rendering)等。这些方法需要采集不同光照条件下的场景图像,计算获得光传输矩阵并绘制出新的光源条件下的场景图像。其最大优势是无需场景的几何信息,渲染不受场景复杂度的影响,并且也能表现反射、折射或散射等各种光照效果。需要说明的是,本申请实施例主要是采用重光照技术对虚拟场景进行重新打光,以渲染出虚拟的环境光,例如根据用户所占位置模拟出人体阴影。
目前,当用户出行、逛街或旅游时,用户随时可以使用随身携带的手机等终端设备进行拍照,以记录周围景色和精彩瞬间等。但是受到天气、季节或时间等各种因素的影响,使得用户仅能拍摄到在当前天气、当前季节或当前时间下的照片,导致拍照场景受限,从而无法拍到令用户满意的照片。传统技术提出了如下拍照方案:
一种方式是使用AR模拟天气。在这种方式中,预先设置了各种天气模型,例如晴天模型、雨天模型、下雪模型、霜降模型和刮风模型等。当用户使用手机拍照时,可以从这些模型中选择一种模型,从而手机会按照选择的模型建模,从而模拟出某种天气,例如在下雨天模拟出晴天的效果。然而,这些天气模型为预先设置的,无论在什么条件下,这些天气模型的模拟方式均是单一固定的,不会随着拍照地点和拍摄环境的变化而变化,导致虚拟模型与真实环境叠加到同一个画面或空间的效果不够真实。
另一种方式是使用风格变化的方案。在这种方式中,预先设置了多种图像风格,例如夏日风格、秋日风格、黑白风格和复古风格等。在用户选择某种风格后,手机会通过蒙版等方式,将照片调整了与该风格对应的色调。但是由于这些风格也是预先设置的,因此最终得到的照片的光线也不真实,导致拍摄效果较差。
针对上述问题,本申请实施例提供了一种拍照方法、终端设备及云端服务器,应用于用户在旅游景点、街道、院校、广场或公园等特定地点使用终端设备进行拍照的场景中。服务器通过三维(3 dimensions,3D)重建技术为特定地点预先构建三维地点模型。之后,当用户在特定地点进行拍照时,由云端服务器在三维地点模型中采用VPS等技术确定终端设备的精确位姿。然后,云端服务器根据该三维地点模型和终端设备的精确位姿,生成与用户选择的天气、季节或时间等对应的虚拟场景。再然后,终端设备根据虚拟场景对照片进行处理,例如通过光照估计和深度估计等方法,在真实景点中渲染出与该虚拟场景对应的虚拟物体和虚拟环境光,实现逼真的天气效果、季节效果或时间效果等AR效果,从而增强了该地点的拍照效果,进而提高了用户的拍照体验。
图1为本申请的各个示例性实施例所涉及的通信系统的示意图。如图1所示,该通信系统01可以包括终端设备02和云端服务器03。
需要说明的是,终端设备02可以通过无线通信技术或有线通信技术与云端服务器03保持连接。另外,图1是以终端设备02和云端服务器03直接连接为例进行说明的,在实际实现时,在终端设备02和云端服务器03之间可以设置边缘服务器、路由器、基站或网关等节点设备,可以根据实际使用需求确定,本申请实施例不作限定。
上述终端设备02可以是用户设备、移动设备、用户终端、无线通信设备、用户代理或者用户装置,还可以是智能手机、平板电脑、笔记本电脑、可穿戴设备、个人计算机(personal computer,PC)、车载设备、上网本或者个人数字助理(personal digitalassistant,PDA)等,本申请实施例对此不作具体限定。需要说明的是,本申请实施例中的终端设备02可以具备拍照功能、位姿数据采集功能、图像处理功能以及通讯功能等。
上述云端服务器03提供了云计算功能。云计算实现了将复杂的软硬件从终端设备02迁移到云端服务器03,同时终端设备02的计算工作也迁移到云端服务器03,从而由云端服务器03承载了终端设备02的具体应用计算任务。如此,终端设备02可以通过网络连接到云端服务器03,获取云端资源,使得终端设备02的软硬件都得到简化。需要说明的是,本申请实施例中的云端服务器03可以具备场景模型构建功能、终端设备的精确位姿确定功能以及虚拟场景生成功能等。
本申请实施例中,终端设备02或云端服务器03可以包括硬件层,运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含相机、浏览器、通讯录、文字处理软件和即时通信软件等应用。
需要说明的是,本申请实施例并未对提供的拍照方法的执行主体的具体结构特别限定,例如执行主体可以是终端设备02或云端服务器03,或者,是终端设备02或云端服务器03中能够调用程序并执行程序的功能模块。
下面结合图2和图3说明本申请实施例提供的拍照方法。图2是本申请实施例提供的拍照方法的总示意图。相应地,图3为与图2对应的拍照方法的交互流程图。
在图2中,云端服务器可以根据特定景点的网络图片或历史用户上传的图片,通过三维重建技术为多个特定地点(例如景点)分别预先构建三维地点模型,例如,基于每个特定地点的语义对象的语义,为每个语义对象分别构建多个场景模型。当用户在某个特定地点进行拍照时,终端设备可以将由GPS和惯性测量单元(inertial measurement unit,IMU)等传感器采集的该地点的初始位姿,由摄像头拍摄的初始图片,以及用户选择的天气、季节或时间等场景信息发送至云端服务器。然后,云端服务器根据这些信息,可以对场景建模进行更新,并采用VPS定位技术确定终端设备的精确位姿。然后,云端服务器根据场景模型和终端设备的精确位姿,生成与该场景信息等对应的虚拟场景。再然后,终端设备通过光照估计和/或深度估计等方法,在真实景点的图片中渲染出与该虚拟场景对应的虚拟物体和/或虚拟环境光,生成用户期望模型的AR效果,例如天气效果、季节效果或时间效果等,从而增强了该地点的拍照效果,进而提高了用户的拍照体验。
示例性的,以用户处于目标景点,且该方法的执行主体为如图1所示的通信系统中的终端设备和云端服务器为例,如图3所示,该方法可以包括下述的S301至S312。
S301、终端设备响应于用户的拍摄场景的选择操作,生成场景信息。
上述场景信息可以用于指示用户期望在目标景点模拟的拍摄场景。该拍摄场景可以包括以下至少一项:目标天气的拍摄场景、目标季节的拍摄场景、目标节气的拍摄场景、目标时间的拍摄场景和目标风格的拍摄场景等。其中,目标天气可以为晴、多云、阴、霜、阵雨、雷阵雨、雷阵雨伴有冰雹、雨夹雪、小雨、中雨、大雨、暴雨、大暴雨、特大暴雨、阵雪、小雪、中雪、大雪或暴雪等。目标季节可以为春季、夏季、秋季或冬季。目标节气可以为立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至、小寒或大寒。目标时间可以为黎明、清晨、上午、中午、下午、傍晚或深夜等。
在一些实施例中,目标风格可以由天气、季节、节气和时间中的至少一项决定。例如,目标风格可以为烈日夏季、小雨清晨、明媚春光或暴雪冬季等。在另一些实施例中,目标风格可以由除天气、季节、节气和时间外的其他环境因素决定。例如,目标风格为节庆风格、花海风格或落叶风格等。
进一步地,在目标风格由天气、季节、节气和时间中的至少一项决定的情况下,当用户在目标景点进行拍照时,用户可以直接从多种风格中选择目标风格,例如选择风格-明媚春光;也可以从多种天气、多种季节、多种节气和多种时间中进行选择,例如选择天气-晴天,并选择季节-春季。
示例性的,图4为本申请实施例提供的用户选择场景的操作示意图。当用户在目标景点游玩时,如果当前天气为晴天,时间为中午,但是用户想要拍摄在清晨时小雨绵绵的景色,那么用户可以点击AR应用程序的图标。终端设备可以启动AR应用程序,并显示如图4中的(a)所示的场景选择界面40,该选择界面40包括天气41、季节42、节气43、时间44和风格45等控件。如果用户点击风格45,那么会显示如图4中的(b)所示的风格选择界面46。用户点击风格选择界面46的“小雨清晨”47,终端设备会生成场景信息,该场景信息可以用于指示用户期望模拟“小雨清晨”47场景。
S302、终端设备响应于用户的拍摄操作,获取初始图片。
上述初始图片是指终端设备响应于用户的拍摄操作,在由终端设备的摄像头捕获图片后,再经过终端设备的图像信号处理器(image signal processor,ISP),数字信号处理器(digital signal processor,DSP),视频编解码器,神经网络处理器(neural-networkprocessing unit,NPU)以及图形处理器(graphics processing unit,GPU)等处理后得到的图片。需要说明的是,初始图片也可以称为初始图像或初始照片。在一些实施例中,图片、图像和照片可以相互替换。
示例性的,假设图4所示的AR应用程序具备相机功能。在接收到用户在如图4中的(b)所示的风格选择界面46的拍摄场景的选择操作之后,如图4中的(c)所示,终端设备还可以响应于该选择操作,将AR应用程序的界面更新为拍摄预览界面48,该拍摄预览界面48可以包括显示取景框、提示信息49和拍摄控件等,该提示信息可以用于提示用户对当前景点进行拍摄。如此用户可以将摄像头对准当前景点的某个想要拍摄的拍摄点,并点击拍摄控件,从而终端设备可以拍摄得到该拍摄点的初始图片,也称为初始照片。
S303、终端设备通过传感器采集位姿数据。该位姿数据可以用于确定终端设备在拍摄初始图片时的初始位姿。
需要说明的是,上述初始位姿可以包括终端设备在拍摄初始图片时在真实世界中的位置和/或朝向。受到传感器精度等原因的限定,通过传感器采集的位姿数据的精度并不能满足生成虚拟场景的需求,因此需要将这些数据发送至云端服务器,并由云端服务器根据该位姿数据确定终端设备在拍摄初始图片时的精确位姿。
终端设备中可以设置多种传感器,这些传感器可以包括但不限于:IMU传感器、GPS传感器和/或磁力传感器等。
在一些实施例中,终端设备可以通过传感器实时采集、更新终端设备的位姿数据。在接收到用户的拍摄操作之后,终端设备可以将拍摄初始图片时的位姿数据作为向云端服务器发送的位姿数据。在另一些实施例中,终端设备可以在接收到用户的拍摄操作后,响应于该拍摄操作,开始通过传感器采集位姿数据,并将采集到的位姿数据作为向云端服务器发送的位姿数据。
S304、终端设备向云端服务器发送该场景信息、该初始图片以及该位姿数据。
需要说明的是,图3是以终端设备向云端服务器同时发送场景信息、初始图片以及位姿数据为例进行示例说明的,其并不对本申请实施例形成限定。在实际实现时,终端设备也可以采用其他方式向云端服务器发送场景信息、初始图片以及位姿数据。
例如,在终端设备生成场景信息之后,终端设备立即向云端服务器发送场景信息。在终端设备获取初始图片之后,终端设备立即向云端服务器发送初始图片。在终端设备通过传感器采集位姿数据之后,终端设备立即向云端服务器发送位姿数据。
再例如,在终端设备生成场景信息之后,终端设备立即向云端服务器发送场景信息。在终端设备获取初始图片并通过传感器采集位姿数据之后,终端设备向云端服务器发送初始图片和位姿数据。
可以理解,与其他方式相比,对于终端设备向云端服务器同时发送场景信息、初始图片以及位姿数据的方式,若终端设备将场景信息、初始图片以及位姿数据放置在一个数据包中,并向云端服务器发送该数据包,则可以减少终端设备发送消息的次数,降低终端设备的信令开销。
S305、云端服务器接收该场景信息、该初始图片以及该位姿信息。
在云端服务器接收该场景信息、该初始图片以及该位姿信息之后,云端服务器可以根据该场景信息、该初始图片以及该位姿信息,生成目标虚拟场景。该目标虚拟场景为包含虚拟物体的二维图像。该虚拟物体的语义与该初始图片的真实物体的语义匹配。
下面以S306和S307为例对生成目标虚拟场景的具体过程进行示例性说明。
S306、云端服务器根据该场景信息、该初始图片以及该位姿信息,从预先建立的场景模型集合中确定目标场景模型,并确定终端设备拍摄初始图片时的精确位姿。
上述场景模型集合为云端服务器根据多个地点的网络图片、历史用户上传的图片以及通过其他任意方式获取的图片,预先建立的由多个地点的三维模型组成的集合。其中,每个地点的每个语义对象对应的多个场景模型。
上述场景模型集合包括多个景点的场景模型。目标景点的场景模型为多个景点的场景模型中属于目标景点的场景模型。需要说明的是,每个景点的场景模型是由多张图片生成的,多张图片包含着不同语义对象,本申请实施例为不同语义对象创建了不同场景模型,从而每个景点的语义对象分别包括了多种场景模型。其中,语义对象是用于描述一个确定的本体的命名及其属性的命名集合。
下面结合表1对景点、语义对象及场景模型的关系进行示例性说明。
表1
Figure 247219DEST_PATH_IMAGE001
上述表1是以两个景点的每个景点包括2个语义对象,且每个语义对象包括几种场景模型为例进行示例性说明的。可以理解,在实际实现时,每个景点可以包括更多类别的语义对象,例如景点1还可以包括花1、花2和建筑等;每个语义对象可以包括更多类别的场景模型,例如树1还可以包括秋天的树1和冬天的树1等;每种场景模型又可以包括更多类别的子场景模型,例如,春天的树1可能分为春天清晨的树1、春天中午的树1和春天下午的树1等。此外,一个语义对象的多种场景模型可能为同一场景模型,例如春天的树1和晴天的树1可能为一个场景模型,春天的树1和雨天的树1可能为另一个场景模型。
由于云端服务器通过三维重建技术为多个特定地点分别预先构建了三维地点模型。当用户在多个特定地点中的目标景点进行拍照时,终端设备向云端服务器发送拍摄的初始照片,以及拍摄初始照片时终端设备的初始位姿。在云端服务器接收到该初始照片和初始位姿之后,云端服务器可以执行下述步骤:
步骤1、云端服务器根据该初始位姿,从云端图像数据库中确定满足初始位姿的初始图像集合,以缩小数据库的搜索范围。该云端图像数据库包含了用于构建场景模型集合的图像。
步骤2、云端服务器对初始图片和初始图像集合中的每个图像进行图像特征/或语义信息等信息进行提取和匹配,并根据匹配结果从初始图像集合中确定出一张最为匹配的图片,即匹配度最高的图片。
具体地,云端服务器可以采用第一提取算法,提取初始图片和初始图像集合的图像特征;根据初始图片和初始图像集合的图像特征的匹配结果,从初始图像集合中确定出图像候选集;采用第二提取算法,提取初始图片和图像候选集的图像特征和语义信息。根据初始图片和图像候选集的图像特征和语义信息的匹配结果,从图像候选集中确定出目标图片。其中,第一提取算法和第二提取算法不同。例如,第一提取算法为深度学习模型算法,如VGG模型;第二提取算法为特征点提取(superpoint)算法。
步骤3、云端服务器根据初始图片以及由目标图片建立的场景模型,确定终端设备拍摄始图片时的精确位姿。
步骤4、云端服务器从场景模型子集合中确定符合场景信息的多个场景模型,并将多个场景模型组合为目标场景模型,场景模型子集合由场景模型集合中与目标图片的语义对象对应的场景模型组成。
需要说明的是,本申请实施例对步骤3和步骤4的执行顺序不作限定。另外,对于步骤1至步骤4的实施方式将在下述实施例的图9和图10进行描述,此处不予赘述。
S307、云端服务器可以根据该目标场景模型和该精确位姿,生成目标虚拟场景。
上述目标场景模型是由多个特征点(即多个三维数据)组成的三维模型,例如稀疏点云模型。其中,多个特征点是从目标景点的多帧图像中提取的。当终端设备在目标景点的场景模型中的精确位姿不同时,可以根据不同位姿从三维数据集合中确定出不同的数据子集合,进而将不同的数据子集合二维投影后生成不同的虚拟场景。即,上述S307中的虚拟场景是将目标场景模型中与终端设备的位姿对应的三维数据,二维投影后得到的二维图像,该虚拟场景可以包括至少一个虚拟物体。其中,对于每个虚拟物体,一个虚拟物体对应于初始图片的一个真实物体,且该一个虚拟物体的语义与初始图片的该一个真实物体的语义相同。
示例性的,图5为本申请实施例提供的与不同位姿对应的三维数据子集合的示意图。假设在目标景点构建的世界坐标系用如图5所示的Ow-XwYwZw表示,且Ow为目标景点的任意一点。当终端设备在世界坐标系Ow-XwYwZw中的坐标为点P1(X1,Y1,Z1)时,终端设备绕Xw轴旋转角度α1,绕Yw轴旋转角度β1,绕Zw轴旋转角度γ1。如此坐标P1(X1,Y1,Z1)和旋转角度(α1,β1,γ1)共同决定了终端设备的当前取景范围Cone1,在三维取景范围Cone1中的数据子集合可以用于生成处于当前位姿的终端设备的虚拟场景。当终端设备在世界坐标系Ow-XwYwZw中的坐标为点P2(X2,Y2,Z2)时,终端设备绕Xw轴旋转角度α2,绕Yw轴旋转角度β2,绕Zw轴旋转角度γ2。如此坐标P2(X2,Y2,Z2)和旋转角度(α2,β2,γ2)共同决定了终端设备的当前取景范围Cone2,在三维取景范围Cone2中的数据子集合可以用于生成处于当前位姿的终端设备的虚拟场景。也就是说,当终端设备在目标景点的场景模型中的精确位姿不同时,云端服务器可以在三维数据集合中确定不同的数据子集合,进而可以根据不同的数据子集合生成不同的虚拟场景。
S308、云端服务器向终端设备发送该目标虚拟场景。
在终端设备接收到由云端服务器发送的目标虚拟场景之后,终端设备可以根据目标虚拟场景处理初始图片,得到合成图片。第一种方式为,直接使用虚拟物体覆盖初始图片中的语义匹配的真实物体。第二种方式为,将初始图片中与虚拟物体的语义匹配的真实物体,替换为该虚拟物体。需要说明的是,下述实施例均是基于第二种方式为例进行说明的。
终端设备可以用目标虚拟场景的某些虚拟物体替换初始图片中具备相同语义或语义匹配的真实物体,从而得到用户希望模拟的场景的图片。例如,在获取初始图片时的真实场景为雨天,而用户希望模拟的虚拟场景为晴天,那么在按照上述S301至S308得到虚拟场景之后,终端设备可以用晴天场景的树木替换雨天场景的树木,用晴天场景的岩石替换雨天场景的岩石。另外,终端设备还可以在初始图片中渲染相对于真实物体新增加的虚拟物体,例如渲染晴天场景的太阳。
但是,在上述过程中,初始图片的部分物体可能未被替换,这样在将虚拟场景的虚拟物体渲染在初始图片时,虚拟物体可能会遮挡初始图片中未被替换的部分物体,例如虚拟的树木会叠加在人物图像上,造成对人物图像的遮挡。另外,初始图片的环境光与虚拟场景也可能不相符,例如用户希望模拟的虚拟场景为晴天,但初始图片的环境光为雨天的环境光,这样导致雨天的环境光不符合晴天场景,使得最终生成的图片不够真实。
为了解决这些问题,在将初始图片中与虚拟物体的语义匹配的真实物体,替换为虚拟物体之后,本申请实施例还提出了一种可选的方案:在终端设备用虚拟场景替换初始图片的真实场景后,终端设备调整初始图片的真实物体与虚拟场景的虚拟物体的深度遮挡关系;和/或,对初始图片渲染虚拟环境光。例如终端设备还可以执行下述的S309至S311。
S309、终端设备确定初始图片的深度估计信息和光照估计信息。
上述深度估计信息为对初始图片进行深度估计后得到的信息,该信息可以用于表示初始图片中每个物体或每个人物相对于拍摄源(即被拍摄对象)的距离。其中,该深度估计信息包括初始图片的真实物体的深度值。例如,终端设备可以确定虚拟物体的深度值以及初始图片的真实物体的深度值。
上述光照估计信息为对初始图片进行光照估计后得到的信息,该信息可以用于表示拍摄初始图片时的光照情况。其中,初始图片的光照估计信息可以为光照球谐系数(spherical harmonics coefficient,SH Coefficient),例如光照五阶球谐系数。
对于终端设备对初始图片进行深度估计和光照估计的实施方式将在下述实施例中进行描述,此处不予赘述。
S310、终端设备根据该虚拟场景和深度估计信息,调整初始图片的真实物体与虚拟场景的虚拟物体的深度遮挡关系。
由于虚拟场景是将目标场景模型中与终端设备的位姿对应的三维数据,二维投影后得到的二维图像,而三维数据包含了虚拟物体的深度估计信息,因此在生成虚拟场景时可以将虚拟物体的深度值携带在虚拟场景中,即,虚拟场景包含了虚拟物体的深度值。如此,终端设备可以根据该虚拟场景包含的虚拟物体的深度值和初始图片的真实物体的深度值,调整初始图片的真实物体与虚拟物体在深度上的位置关系,也称为深度位置关系或深度遮挡关系。例如,若第一物体的深度值小于第二物体的深度值,则在合成图片中第一物体位于第二物体的上层;若第一物体的深度值大于第二物体的深度值,则在合成图片中第一物体位于第二物体的下层。其中,第一物体和第二物体为以下任一项:虚拟物体、真实物体。通常,人物的深度值较小,虚拟物体的深度值较大,因此通过调整人物与虚拟物体在深度上的位置关系,可以避免虚拟物体对人物造成遮挡,从而实现真实物体与虚拟物体更真实的交互。
本申请实施例中,虚拟物体包括第一虚拟物体(用于替换语义匹配的第一真实物体)和第二虚拟物体(新增加的虚拟物体),初始图片包括第一真实物体(被替换的真实物体,例如花草树木)和第二真实物体(未被替换的真实物体,例如人物)。第一虚拟物体的语义与第一真实物体的语义匹配,第一虚拟物体的语义与第二真实物体的语义不匹配。第二虚拟物体的语义与第一真实物体和第二真实物体的语义均不匹配。
相应地,将初始图片中与虚拟物体的语义匹配的真实物体,替换为虚拟物体,包括:将第一真实物体替换为第一虚拟物体。根据虚拟物体的深度值以及初始图片的真实物体的深度值,调整虚拟物体与初始图片的真实物体的深度位置关系,包括:根据第一虚拟物体的深度值、第二虚拟物体的深度值和第二真实物体的深度值,调整第一虚拟物体、第二虚拟物体和第二真实物体的深度位置关系。
下面以图6和图7为例,对调整初始图片的人物与虚拟场景的虚拟物体的深度遮挡关系的方式进行示例说明。图6为本申请实施例提供的物体与像素平面的距离的示意图。图7为本申请实施例提供的与图6的物体对应的图片的示意图。
图6中的(a)示出了三种真实物体:树木a1、树木a2和人物a3。树木a1到像素平面的距离为L1,树木a2到像素平面的距离为L2,人物a3到像素平面的距离为L3。这三个距离满足关系:L3< L1< L2。因此,人物a3距离像素平面最近,人物a3的图像应该位于照片的最上层;树木a2距离像素平面最远,树木a2的图像应该位于照片的最底层。
相应地,图7示出的图片p1为使用手机对图6中的(a)所示的三种真实物体拍照后得到的初始图片。在图片p1中,树木a1的图像和树木a2的图像未对人物a3的图像造成遮挡。
图6中的(b)示出了一种真实物体:人物a3,以及两种虚拟物体:树木b1和树木b2。树木b1为根据虚拟场景生成的,树木b1用于替换真实场景的树木a1。树木b2为根据虚拟场景生成的,树木b2用于替换真实场景的树木a2。树木b1到像素平面的距离为L1,树木b2到像素平面的距离为L2,人物a3到像素平面的距离为L3。这三个距离满足关系:L3< L1< L2。因此,人物a3距离像素平面最近,人物a3的图像应该位于照片的最上层;树木b2距离像素平面最远,树木b2的图像应该位于照片的最底层。
图7示出的图片p2为直接将虚拟场景中的树木b1和树木b2渲染在初始图片p2后所得到的合成图片。在图片p2中,树木b2的图像位于最上层,人物a3的图像位于照片的最底层,因此,树木b2的图像会对树木b1的图像和人物a3的图像造成遮挡,使得真实物体与虚拟物体不够真实。
图7示出的图片p3为对图片p2中的树木b1的图像、树木b2的图像和人物a3的图像在深度上进行调整后所得到的合成图片。根据图6中的(b)示出的深度关系,由于人物a3距离像素平面最近,树木b2距离像素平面最远,因此可以将人物a3的图像调整到最上层,将树木b2的图像调整到最底层,从而改善了人物a3与虚拟物体的深度遮挡关系,实现了真实物体与虚拟物体更真实的交互。
需要说明的是,为了更清楚地示意真实物体和虚拟物体,上述图7并未示出环境光。
S311、终端设备根据该虚拟场景和光照估计信息,渲染虚拟环境光。
本申请实施例预先设置了场景模型与虚拟环境光的对应关系,一种场景模型对应一种虚拟环境光,即一种场景模型对应一组光照球谐系数。由于上述虚拟场景是根据目标场景模型生成的,而目标场景模型对应的虚拟环境光也是确定的,因此,终端设备可以先确定与目标虚拟场景对应的光照球谐系数;之后,按照与目标虚拟场景对应的光照球谐系数,对初始图片的渲染虚拟环境光。
进一步地,在终端设备按照与目标虚拟场景对应的光照球谐系数,对初始图片的渲染虚拟环境光之前,该方法还可以包括:终端设备确定初始图片的光照球谐系数;根据初始图片的光照球谐系数,移除初始图片的环境光。可以理解,先移除真实环境光,再渲染虚拟环境光,可以提升渲染效果,避免由于真实环境光和虚拟环境光叠加而影响最终的渲染效果。
上述“移除初始图片的真实环境光”可以包括:移除初始图片中被虚拟场景替换区域(即场景更新区域)的环境光。在终端设备使用虚拟场景替换初始图片的真实场景时,初始图片的部分区域被虚拟场景替换。由于初始图片的环境光与虚拟场景也可能不相符,例如用户希望模拟的虚拟场景为晴天,但初始图片的真实环境光为雨天的环境光,这样导致雨天的环境光不符合晴天场景。在这种情况下,在计算得到初始图片的光照估计信息之后,需要移除初始图片中被虚拟场景替换区域的环境光。
上述“移除初始图片的真实环境光”还可以包括:移除初始图片中未被虚拟场景替换区域的环境光。以未被虚拟场景替换的区域包含人物图像为例,尽管人物图像不需要被虚拟场景替换,但是由于用户选择的虚拟场景与拍摄初始图片时的场景不同,因此可能导致人物图像的环境光也不符合虚拟场景。例如,用户使用手机拍摄初始图片时的真实场景为中午,但用户希望模拟的虚拟场景为傍晚,这样就可能存打在人体上的光线较为强烈,导致与傍晚时的柔和光线不相符。再例如,用户使用手机拍摄初始图片时的真实场景为阴天,但用户希望模拟的虚拟场景为晴天,这样就可能存打在人体上的光线较弱,导致与晴天时的强烈光线不相符。因此,在这些情况下,在计算得到初始图片的光照估计信息之后,需要移除初始图片中未被虚拟场景替换区域的环境光。
图8为本申请实施例提供的对初始图片重打光的示意图。如图8所示,图片p1’用填充图案1表示真实环境光,例如阴天场景时的环境光。终端设备可以去除图片p1’的真实环境光,并按照用户选择的晴天场景模型,渲染与晴天场景模型对应的虚拟环境光,该虚拟环境光可以用填充图案2以及阴影b3、阴影a4表示,从而生成最终图片p3’。其中,阴影b3为模拟出的树木b1的阴影,阴影a4为模拟出的人物a3的影子。
S312、终端设备得到最终的合成图片。
上述实施例是以终端设备先调整初始图片的人物与虚拟场景的虚拟物体的深度遮挡关系,再渲染虚拟环境光,从而得到最终图片为例进行示例性说明的,其并不对本申请实施例形成限定。在实际实现时,也可以先渲染虚拟环境光,在调整初始图片的人物与虚拟场景的虚拟物体的深度遮挡关系,从而得到最终的合成图片。当然两者也可以同时执行,具体可以根据实际使用需求确定。
需要说明的是,上述实施例是以先响应于用户的拍摄场景的选择操作,生成场景信息;再响应于用户的拍摄操作,获取初始图片,并通过传感器采集位姿数据;之后向云端服务器发送该场景信息、该初始图片以及该位姿数据;然后,根据云端服务器发送的虚拟场景对初始图片进行处理,生成最终的合成图片为例进行示例说明的。本申请实施例还提供另外一种方案:响应于用户的拍摄场景的选择操作,生成场景信息,并通过摄像头采集拍摄预览画面,以及通过传感器采集位姿数据,之后向云端服务器发送该场景信息、该初始图片以及该位姿数据。进一步地,终端设备可以根据云端服务器发送的虚拟场景对初始图片进行处理,显示合成图片。若用户对合成图片满意,则通过拍摄操作触发终端设备拍摄照片,并根据虚拟场景对该照片进行处理,显示最终的合成照片。
本申请实施例提供了的拍照方法,云端服务器通过三维重建技术为特定地点预先构建了三维地点模型。当用户在特定地点进行拍照时,由云端服务器在三维地点模型中采用VPS技术确定终端设备的精确位姿。然后,云端服务器根据该三维地点模型和终端设备的精确位姿,生成与用户选择的场景等对应的虚拟场景。再然后,终端设备通过光照估计和深度估计等方法,在真实景点中渲染出与该虚拟场景对应的虚拟物体和虚拟环境光,实现逼真的AR效果,例如天气效果、季节效果或时间效果等,从而增强了该地点的拍照效果,进而提高了用户的拍照体验。
下面将结合图9、图10、图11、图12和图13,对场景建模及场景更新、VPS定位、光照估计和深度估计的具体实现方式进行示例性说明。
图9为本申请实施例提供的场景建模及场景更新的流程示意图。
针对旅游景点、街道、院校、广场或公园等特定地点,均可以创建并更新场景模型。
下面以目标景点为例,对目标景点的场景建模过程进行说明。
步骤1、可以通过至少一种方式获取特定地点的图像或视频:搜集该特定地点的图像或视频,用户上传该特定地点的图像或视频,以及人工采集该景点的多个图像或视频。
示例性地,人工采集目标景点的图像的方法可以为:在不同场景下,例如清晨、中午、傍晚、晴天和雨天等,在目标景点的不同的位置和不同视角,使用终端设备拍摄图像,从而获取不同场景的图像。
步骤2、云端服务器提取图像集和视频集中图像的特征,如尺度不变特征变换(scale-invariant feature transform,SIFT)特征或加速稳健特征(speeded up robustfeatures,SURF)等;并提取图像的语义信息,该语义信息用于表示语义对象,如树木和岩石等。
步骤3、在提取特征之后,云端服务器在图像间进行特征匹配,并使用随机抽样一致算法(random sample consensus,RANSAC)算法剔除样本中的外点(即异常值)。之后,对特征点进行三角化(triangulation)。
步骤4、云端服务器根据图像的多个特征,结合图像的语义信息,创建出与目标景点的每个语义对象对应的三维地点模型,即场景图。具体地,该三维地点模型可以为由该多个特征点组成的稀疏点云模型。
重复上述场景建模过程,可以为多个特定地点的每个语义对象分别创建三维地点模型。
下面仍以目标景点为例,对目标景点的场景建模更新(即确定用户期望在目标地点模拟的拍摄场景的场景模型)过程进行说明。
步骤a、将用于场景图的云端图像数据库作为查询数据库,使用VGG等深度学习模型,对查询数据库中的图像提取图像特征,并使用局部聚合描述子向量(vector ofaggregate locally descriptor,VLAD)算法进行局部特征聚合,生成尺寸4096维特征描述子。另外,对于由终端设备上传的图像或视频,云端服务器也使用VGG等深度学习模型,对该图像或视频提取图像特征。然后,云端服务器依次计算该图像或视频的图像特征与特征描述子的两向量的欧式距离,按照距离排序相似度由高到低的顺序,从查询数据库中筛选出图像候选集。
步骤b、云端服务器可以使用基于自监督的特征点提取(superpoint)算法提取图像候选集的图像特征和语义信息,以及终端设备上传的图像或视频的图像特征。然后,云端服务器可以使用超级粘合(superglue)算法对图像候选集的图像特征和终端设备上传的图像或视频的图像特征进行匹配,以及对图像候选集的语义信息和终端设备上传的图像或视频的语义信息进行匹配。然后,根据图像特征和语义信息的匹配结果,从图像候选集中获取到与终端设备上传的图像最为匹配的一张图像。
本申请实施例中,语义信息也称为语义特征,用于表示图像中的语义对象的语义,如花草、树木和岩石等。其中,语义对象可以是虚拟物体或真实物体。
需要说明的是,在上述步骤a和步骤b中,云端服务器进行了两次特征提取和特征匹配。这是因为云端图像数据库的数据量庞大,步骤a提供的特征提取方法和特征匹配方法适合于快速检索,步骤b提供的特征提取方法和特征匹配方法适合于精细检索。若是直接采用步骤b提供的特征提取方法和特征匹配方法,在云端图像数据库进行检索,则可能存在计算量大及检索时间长的问题。因此,采用本申请实施例提供的方法不但可以提高检索速度,还可以准确查找到特征匹配的图像。
步骤c、在匹配完成后,云端服务器在场景图中对需要更新的语义对象进行更新,得到该场景的稀疏点云模型。例如,用户在目标景点拍摄照片时的真实场景为雨天,而用户希望模拟的虚拟场景为晴天,云端服务器将用雨天场景的树木更新为晴天场景的树木,从而根据晴天场景的树木,在场景图中得到用户期望模拟的稀疏点云模型。
图10为本申请实施例提供的VPS定位的流程示意图。
本申请实施例提供了一个云端图像数据库,该云端图像数据库包含了用于构建场景模型的所有图像。其中,云端图像数据库的每个图像标记有场景模型信息,根据每个图像标记的场景模型信息可以查找到根据该图像所构建的场景模型。需要说明的是,该云端图像数据库可以存储在云端服务器中,也可以存储在与云端服务器连接的数据库服务器中,本申请实施例不作限定。
当用户使用终端设备向云端服务器上传新拍摄的图像时,还可以上传由传感器采集的位姿数据。云端服务器接收这些数据后,可以执行以下步骤:
步骤A、云端服务器可以根据终端设备的位姿数据在云端图像数据库中进行初步图像检索,从云端图像数据库中筛选出满足该位姿数据的初始图像集合。例如,根据GPS数据从云端图像数据库中筛选出目标景点的图像集合。
步骤B、云端服务器可以使用VGG等深度学习模型,对初始图像集合中的图像提取图像特征,并使用VLAD算法进行局部特征聚合,生成尺寸4096维特征描述子。另外,对于由终端设备上传的图像,云端服务器也使用VGG等深度学习模型,对该图像提取图像特征。然后,云端服务器依次计算该图像的图像特征与特征描述子的两向量的欧式距离,按照距离排序相似度由高到低的顺序,从初始图像集合中筛选出图像候选集。
步骤C、云端服务器可以使用superpoint算法提取图像候选集的图像特征,以及终端设备上传的图像的图像特征。然后,云端服务器可以使用superglue算法对图像候选集的图像特征和终端设备上传的图像的图像特征进行匹配,从图像候选集中获取到与终端设备上传的图像最为匹配的一张图像。
步骤D、云端服务器可以根据该一张图像标记的场景模型信息,查找到根据该一张图像所构建的场景模型。理论上,该场景模型为终端设备所在的目标景点的场景模型。然后,云端服务器可以采用PnP算法,利用该一张图像及与之对应的场景模型,结合新图像,计算到终端设备拍摄新图像时的精确位姿。
上述PnP求解算法包括但不限于:P3P算法、直接线性变换(direct lineartransformation ,DLT)算法和EPnP(efficient perspective-n-point)算法。此外,还可以采用非线性优化的方式构建最小二乘问题并迭代求解,例如光束平差(bundleadjustment,BA)算法等。
下面以P3P算法为例对求解终端设备的精确位姿的过程进行示例性说明。
图11为本申请实施例提供的利用P3P算法求解终端设备的精确位姿的示意图。假设初始图像的点1、点2和点3,分别对应匹配图像的点a、点b和点c。根据初始图像的点1、点2和点3,可以在场景模型中分别确定与点1、点2和点3对应的点A、点B和点C的坐标。以场景模型建立世界坐标系,以初始图像建立图像坐标系,并设定相机光心为点O,则存在下述关系:世界坐标系的点A、点B、点C分别对应于图像坐标系的点a、点b、点c,也就是说,点a是世界坐标系的点A在相机成像平面上的投影,点b是世界坐标系的点B在相机成像平面上的投影,点c是世界坐标系的点C在相机成像平面上的投影。
需要说明的是,由点A、点B和点C组成的平面ABC,与点a、点b和点c所在的平面可以平行,也可以不平行,本申请实施例不作限定。
根据余弦定理可得:
OA2+ OB2-2OA·OB·cos(a,b) = AB2
OB2+ OC2-2OB·OC·cos(b,c) = BC2
OA2+ OC2-2OA·OC·cos(a,b) = AC2
将x=OA/OC,y=OB/OC代入上述公式,则得到:
x2+y2-2xycos(a,b) = AB2/OC2
y2+1-2ycos(b,c) = BC2/OC2
x2+1-2xcos(a,c) = AC2/OC2
令v=AB2/OC2,uv=BC2/OC2,wv=AC2/OC2,则有:
x2+y2-2xycos(a,b)-v =0
y2+1-2ycos(b,c)-uv =0
x2+1-2xcos(a,c)-wv =0
联立公式,则有:
(1-u)y2-ux2-cos(b,c)y+2uxycos(a,b)+1=0
(1-w)y2-wy2-cos(a,c)y+2wxycos(a,b)+1=0
由于图像坐标系的点a、b、c的位置已知,可以计算得到cos(a, b)、cos(b, c)和cos(a, c)。另外,u=BC2/AB2,w=AC2/AB2可以通过点A、B、C在世界坐标系的坐标计算得到。这样,x和y是未知的,随着相机移动会发生变化。因此,P3P问题转换成关于x和y的一个二元二次方程,即多项式方程。该方程可以得到四个解。
然后,可以用验证点D来计算这四个解中的最可能的解,得到点A、B、C在相机坐标系的坐标。根据点A、B和C在相机坐标系的坐标,通过世界坐标系到相机坐标系的变化,可以求解得到终端设备的精确位姿。该终端设备的精确位姿包括在世界坐标系中的三维坐标和旋转角度。
需要说明的是,为了更清楚地理解本申请,上述图10和图11分别对场景更新和VPS定位进行了完整的流程说明。由于图10和图11中的部分步骤是相同的,因此,在实时实现时,为了降低云端服务器的数据处理量,云端服务器可以对某些相同的步骤仅执行一遍,并结合不同步骤,实现场景更新和VPS定位。例如,上述图3主要基于图10从场景模型集合中确定出目标地点的场景模型,以及终端设备在目标地点的场景模型中的精确位姿,再结合图9的语义信息匹配从目标地点的场景模型中,确定符合场景信息的目标场景模型。
图12为本申请实施例提供的用于光照估计的网络结构的示意图。根据如图12所示的网络结构可以估计初始图片的光照信息。
本申请实施例可以采用深度学习(deep learning)方法进行光照估计。
下面对用于光照估计的网络结构的训练过程进行示例性说明。
过程1、获取不同光照场景的数据集。
针对旅游景点、街道、院校、广场或公园等特定地点,每个特定地点在不同光照场景下的数据集获取过程为:在每个光照场景下,在特定地点的不同的位置放置高动态范围(high dynamic range,HDR)光探测器,使用HDR光探测器拍摄特定地点的整个场景,在高动态范围内捕捉场景图像,并获取场景图像的光照的真值(ground truth,GT)。另外,还可以结合一些公开数据集作为不同光照场景的数据集。可以理解,特定地点越多,每个特定地点的光照场景越多,每个特定地点的放置HDR光探测器的位置越多,在高动态范围内捕捉场景图像越多,则数据集越丰富,构建的网络结构更为准确,网络结构的输出结果也更为精确。
过程2、构建如图12所示的网络结构。该网络结构的网络输入分为两部分:一部分是RGB整图;另一部分是在RGB整图中进行了场景更新的区域(patch),即待预测光照区域。
需要说明的是,在生成虚拟场景时,会对RGB整图的部分区域进行场景更新,将该部分区域替换为虚拟场景。因此该部分区域即为待预测光照区域。在构建网络结构时,通过输入待预测光照区域,网络结构会对该待预测光照区域的光照预测进行微调,从而获取该区域更准确的光照情况。
具体地,将RGB整图输入到3个稠密卷积网络(dense convolutional network,DenseNet)的模块中以提取特征,生成尺寸为1025*16*21维的特征图,之后该特征图与坐标掩膜(coordinate mask)进行拼接。对于坐标掩膜,有待预测光照区域的取值为1,其余区域的取值均为0。另外,将待预测光照区域的图片输入3个DenseNet模块中以提取特征,生成尺寸为1024*9*9维的特征图。然后,对RGB整图的特征图和待预测光照区域的特征图分别进行编码。在对编码后的特征图进行拼接后,输入全连接层(FC)和梯度反转(GRL)层等。最终的输出结果包括:RGB整图的光照球谐系数、RGB整图的深度球谐系数、待预测光照区域的反射率(albedo)以及待预测光照区域的阴影(shading)等。其中,光照球谐系数可以用于计算RGB整图的光照估计信息。
示例性的,根据光照球谐系数计算光照估计信息的公式如下:
Figure 242988DEST_PATH_IMAGE002
其中,n为球谐函数的阶数;s为某个点或方向;Y为球谐函数;C为球谐系数;L为光照估计信息。
需要说明的是,球谐函数的阶数越高,光照估计信息的还原度越大。通常在游戏渲染中采用三阶球谐系数,就可以满足还原需求,而本申请实施例可以采用光照五阶球谐系数计算RGB整图的光照估计信息,可以以更高的还原度计算初始图片的真实环境光。
过程3、网络训练。在将数据集输入网络结构后,网络结构的输出为预测值。再计算预测值和GT的误差。然后使用反向传播算法,调整网络结构的参数,减小网络结构的误差。
按照上述过程完成了对网络结构的训练。在终端设备接收云端服务器发送的虚拟场景之后,终端设备可以根据虚拟场景计算出初始图片中进行了场景更新的区域,即待预测光照区域。之后,终端设备可以将初始图像和待预测光照区域输入上述网络结构。网络结构的输出结果包括光照球谐系数,例如光照五阶球谐系数。这样,在终端设备接收云端服务器发送的虚拟场景之后,终端设备可以根据该光照球谐系数,得到初始图片的真实环境光,并移除初始图片的真实环境光。然后,终端设备可以根据用户选择的天气/季节/风格/时间等,对虚拟场景进行重打光,生成用户需要的虚拟光效,从而获取到更真实的光照效果。
图13为本申请实施例提供的用于深度估计的网络结构的示意图。根据如图13所示的网络结构可以估计初始图片的深度信息,即获取深度值。
本申请实施例可以采用深度学习方法进行深度估计。
下面对用于深度估计的网络结构的训练过程进行示例性说明。
过程1、获取不同光照场景的数据集。
针对旅游景点、街道、院校、广场或公园等特定地点,每个特定地点在不同光照场景下的数据集获取过程为:在每个光照场景下,在特定地点的不同的位置放置RGB深度图像(RGB depth map,RGBD)数据采集设备,使用RGBD数据采集设备拍摄特定地点的场景图像,并将场景图像的深度值作为该图像的GT。
过程2、构建如图13所示的网络结构。
该网络结构包括编码结构和解码结构,例如编码器和解码器。该网络结构的网络输入为RGB整图。RGB整图经过编码结构提取图像特征,并通过跳层连接经过特征融合和压缩(feature fusion and compression,FFC)结构。在由FFC结构进行特征融合和压缩后,特征图传输到解码结构。然后,由解码结构对特征图进行上采样(upsampling),逐步上采样至原分辨率。在采用concat()连接函数连接多个数组后,经过convs()卷积函数得到网络输出,该网络输出为RGB整图的深度图。
过程3、网络训练。在将数据集输入网络结构后,网络结构的输出为预测的深度值。逐像素计算预测的深度值和GT的误差。然后使用反向传播算法,调整网络结构的参数,减小误差。
在完成网络结构的训练后,终端设备可以向该网络结构输入初始图片,即整幅RGB图像,从而可以预测出该初始图片对应的深度图,获取到场景中人物的深度值。
上述实施例是以云端服务器预先为目标景点建立了多种场景模型为例进行示例性说明的。但是,在某些情况下,云端服务器可能没有为目标景点建立场景模型,或者为目标景点建立的场景模型并不包含用户期望的场景模型。针对这些问题,本申请实施例提供了再一种拍照方法。结合图3,如图14所示,该方法可以包括下述的S401至S416。
S401、终端设备响应于用户的拍摄场景的选择操作,生成场景信息。
上述场景信息可以用于指示用户期望在目标景点模拟的目标场景。该目标场景可以包括以下至少一项:目标天气、目标季节、目标节气、目标时间和目标风格等。
S402、终端设备响应于用户的拍摄操作,获取初始图片。
S403、终端设备通过传感器采集位姿数据。该位姿数据可以用于确定终端设备在获取初始图片时的初始位姿。其中,该初始位姿包括终端设备在获取初始图片时在真实世界中的位置和朝向。
S404、终端设备向云端服务器发送该场景信息、该初始图片以及该位姿数据。
需要说明的是,图14是以终端设备向云端服务器同时发送场景信息、初始图片以及位姿数据为例进行示例说明的,其并不对本申请实施例形成限定。在实际实现时,终端设备也可以采用其他方式向云端服务器发送场景信息、初始图片以及位姿数据。
S405、云端服务器接收该场景信息、该初始图片以及该位姿信息。
S406、云端服务器根据该初始图片、该位姿信息和场景模型集合进行VPS定位,判断该场景模型集合中是否包含目标景点的场景模型。若包含目标景点的场景模型,则执行下述S407a;若不包含目标景点的场景模型,则执行下述S407b。即S407a和S407b择一执行。
上述场景模型集合为云端服务器根据特定景点的网络图片、历史用户上传的图片以及通过其他任意方式获取的图片,预先建立的由多个地点的三维模型组成的集合。
S407a、云端服务器确定终端设备在目标景点的场景模型中的精确位姿。之后执行S408。
S407b、云端服务器向终端设备发送第一信息。第一信息用于提示云端服务器未对目标景点建立场景模型。在终端设备接收第一信息之后,可以执行S414- S415。
S408、云端服务器判断目标景点的场景模型中是否存在符合该场景信息的场景模型。若存在符合该场景信息的目标场景模型,则执行下述S409a;若不存在符合该场景信息的目标场景模型,则执行下述S409b。即S409a和S409b择一执行。
在上述S406中,在云端服务器根据终端设备拍摄的初始照片,以及拍摄初始照片时终端设备的位姿信息进行VPS定位后,如果云端服务器从场景模型集合中确定出了目标景点的场景模型,由于目标景点的场景模型的数量为多个,例如包括晴天景点模型和雨天景点模型等,但用户期望模拟的模型可能为某个场景模型,因此云端服务器可以根据接收的场景信息,判断目标景点的场景模型中是否存在符合该场景信息的场景模型。
S409a、云端服务器根据目标场景模型,以及终端设备在目标景点的场景模型中的精确位姿,生成虚拟场景。之后执行S410- S413。
S409b、云端服务器向终端设备发送第二信息,第二信息用于提示云端服务器对目标景点建立的场景模型中不包含用户期望模拟的场景模型。之后执行S414- S415。
S410、云端服务器向终端设备发送该虚拟场景。
S411、终端设备确定初始图片的深度估计信息和光照估计信息。
S412、终端设备根据该虚拟场景和深度估计信息,调整初始图片的真实物体与虚拟场景的虚拟物体的深度遮挡关系。
S413、终端设备根据该虚拟场景和光照估计信息,移除初始图片的真实环境光,渲染虚拟环境光。之后执行S416。
S414、终端设备确定与场景信息对应的光照球谐系数和初始图片的光照球谐系数。
S415、终端设备按照初始图片的光照球谐系数,移除初始图片的环境光;并按照与场景信息对应的光照球谐系数,对初始图片的渲染虚拟环境光。之后执行S416。
S416、终端设备得到最终的合成图片。
可以理解的是,在预先建立的场景模型集合存在符合用户期望的场景模型的情况下,云端服务器通过向终端设备发送虚拟场景,可以使终端设备根据虚拟场景,渲染虚拟环境光和虚拟物体。而在预先建立的场景模型集合不包含目标景点的场景模型的情况下,或者,在目标景点的场景模型不存在符合用户期望的场景模型的情况下,云端服务器通过向终端设备发送提示信息,可以使终端设备及时获知这些信息,仅渲染虚拟环境光。
本文描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案均属于本申请的保护范围中。可以理解的是,上述各个方法实施例中由终端设备或云端服务器实现的方法和操作,也可以由终端设备或云端服务器的部件(例如芯片或者电路)实现。
图15为本申请实施例提供的终端设备的硬件结构示意图。如图15所示,终端设备可以包括处理器10,摄像头11,显示屏12,外部存储器接口13,内部存储器14,天线1,天线2,无线通信模块15,移动通信模块16,音频模块17,耳机接口17A,麦克风17B,受话器17C和/或扬声器17D等。
处理器10可以包括一个或多个处理单元,例如:处理器10可以包括如图15所示的ISP 10A,DSP 10B,视频编解码器10C,NPU 10D,GPU 10E,中央处理器(central processingunit,CPU)10F,应用处理器(application processor,AP)10G,调制解调处理器10H,和/或基带处理器10I等。在一些实施例中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
CPU 10F是信息处理、程序运行的最终执行单元,其主要工作包括处理指令、执行操作、控制时间和处理数据等。其中,CPU 10F可以包括控制器、运算器、高速缓冲存储器,以及用于连接这些部件的总线。
控制器是终端设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
运算器是指进行各种算术和逻辑运算操作的部件。
高速缓冲存储器可以保存处理器10刚用过或循环使用的指令或数据。如果处理器10需要再次使用该指令或数据,可从高速缓冲存储器中直接调用。避免了重复存取,减少了处理器10的等待时间,因而提高了系统的效率。
外部存储器接口13可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口13与处理器10通信,实现数据存储功能。例如将最终拍摄得到的照片、视频等文件保存在外部存储卡中。
内部存储器14可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器10通过运行存储在内部存储器14的指令,从而执行终端设备的各种功能应用以及数据处理。内部存储器14可以包括存储程序区和存储数据区。其中,存储程序区可以存储操作系统,至少一个功能所需的应用程序等,比如用于拍摄图像的相机应用程序等。存储数据区可以存储终端设备使用过程中所创建的数据等,比如初始图片。此外,内部存储器14可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端设备可以通过音频模块17,耳机接口17A,麦克风17B,受话器17C,扬声器17D,以及应用处理器等实现音频功能。例如通过音频模块17和扬声器17D播放语音,以提示用户云端服务器未对目标景点建立场景模型,或提示用户云端服务器对目标景点建立的场景模型中不包含用户期望模拟的场景模型。
需要说明的是,本申请实施例提供的拍照方案主要涉及拍摄场景,因此下面对终端设备中与拍摄场景相关的各个部件/单元/功能模块进行示例性说明。
终端设备可以通过摄像头11,ISP 10A,DSP 10B,视频编解码器10C,NPU 10D,GPU10E,显示屏12以及AP 10G等实现拍摄功能。在拍摄场景中,显示功能作为拍摄功能的一部分,主要通过GPU 10E,显示屏12以及AP 10G等实现。例如,通过GPU 10E,显示屏12以及AP10G等显示相机应用程序的图标,显示包括取景框和拍摄控件的拍摄预览界面,在取景框中显示采集的预览图像,以及显示由虚拟场景和初始图片合成的最终图片等。
其中,摄像头11可以用于捕获静态图像或视频。当用户将摄像头11朝向拍摄对象时,由拍摄对象发射或反射的光线,通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP 10A。在一些实施例中,终端设备可以包括1个或N个摄像头11,N为大于1的整数。
ISP 10A可以用于处理摄像头11反馈的数据得到数字图像信息,并将数字图像信号输出到DSP 10B加工处理。例如,在拍照时,终端设备响应于用户操作打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP 10A处理,转化为肉眼可见的图像。此外,ISP 10A还可以对图像的噪点,亮度,肤色进行算法优化。ISP 10A还可以对拍摄场景的曝光和色温等参数优化。在一些实施例中,ISP 10A可以设置在摄像头11中。
DSP 10B可以用于处理数字信号,将数字图像信号转换成标准的RGB,YUV等格式的图像信号。需要说明的是,DSP 10B除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备在频点选择时,DSP 10B用于对频点能量进行傅里叶变换等。
视频编解码器10C可以用于对数字视频压缩或解压缩。终端设备可以支持一种或多种视频编解码器10C。这样,终端设备可以播放或录制多种编码格式的视频,例如:编码格式可以为动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU 10D为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断地自学习。通过NPU 10D可以实现终端设备的智能认知等应用。
GPU 10E又称显示核心、视觉处理器或显示芯片,为图形和图像处理的微处理器。GPU 10E连接显示屏12和AP 10G。GPU 10E可以用于执行复杂的数学和几何计算、浮点运算、并行计算,还可以用于图形渲染。GPU 10E使显卡减少了对CPU 10F的依赖,尤其是在3D图形处理时,GPU 10E采用光影转换技术(transforming&lighting,T&L)、立方环境材质贴图和顶点混合等核心技术,因此GPU 10E进行了部分原本CPU 10F的工作。在一些实施例中,处理器10可以包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏12可以用于显示初始图片,以及由虚拟场景和初始图片合成的最终图片等。显示屏12包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,或者量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,终端设备可以包括1个或N个显示屏12,N为大于1的整数。
具体到本申请实施例,在用户位于目标景点时,用户可以将摄像头11朝向目标景点的拍摄对象,从而摄像头11可以捕获该拍摄对象的图像,进而通过ISP 10A、DSP 10B和视频编解码器10C等得到初始图片。
进一步地,在多数情况下,由于CPU 10F要做内存管理和输入响应等繁多任务,而GPU 10E善于处理图形和图像,因此本申请实施例可以采用GPU 10E执行下述操作:确定初始图片的深度估计信息和光照估计信息;根据云端服务器发送的虚拟场景和该深度估计信息,调整初始图片的人物与虚拟场景的虚拟物体的深度遮挡关系;根据云端服务器发送的虚拟场景和光照估计信息,移除初始图片的真实环境光,渲染虚拟环境光,从而得到最终图片。
图16为本申请实施例提供的一种云端服务器的硬件结构示意图。该云端服务器包括至少一个处理器501,通信总线502,存储器503以及至少一个通信接口504。
处理器501可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线502可包括一通路,在上述组件之间传送信息。
通信接口504,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器503可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc readonly memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备,或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器503用于存储执行本申请方案的应用程序代码,并由处理器501来控制执行。处理器501用于执行存储器503中存储的应用程序代码,从而实现上述实施例中的拍照方法。
作为一种实施例,处理器501可以包括一个或多个CPU,例如CPU 0和CPU 1。
作为一种实施例,云端服务器可以包括多个处理器,例如图16中的两个处理器501。每个处理器可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。
作为一种实施例,云端服务器还可以包括输出设备505和输入设备506。输出设备505和处理器501通信,可以以多种方式来显示信息。例如,输出设备505可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。
输入设备506和处理器501通信,可以以多种方式接受用户的输入。例如,输入设备506可以是鼠标、键盘、触摸屏或传感设备等。
上述的云端服务器可以是一个通用云端服务器或者是一个专用云端服务器。云端服务器可以是台式机、网络服务器、嵌入式设备或有与图16中类似结构的设备。本申请实施例不限定云端服务器的类型。
可以理解的是,本申请实施例示意的结构并不构成对终端设备和云端服务器的具体限定。在本申请另一些实施例中,终端设备和云端服务器可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
图17为本申请实施例提供的终端设备的示意性框图。该终端设备可以用于执行上文方法实施例中终端设备所执行的动作。该终端设备可以包括:发送模块701、接收模块702和处理模块703。
发送模块701,可以用于向云端服务器发送场景信息、初始图片和位姿数据,该场景信息用于指示用户期望在目标地点模拟的拍摄场景,该初始图片为终端设备在该目标地点拍摄的图片,该位姿数据用于指示终端设备拍摄该初始图片时的初始位姿,该场景信息、该初始图片和该位姿数据用于生成虚拟场景。
接收模块702,可以用于接收来自云端服务器的目标虚拟场景,该目标虚拟场景为包含至少一个虚拟物体的二维图像,一个虚拟物体的语义与初始图片的一个真实物体的语义相同。
处理模块703,可以用于根据该目标虚拟场景处理该初始图片,得到合成图片。例如,根据该目标虚拟场景和该初始图片,调整该目标虚拟场景的虚拟物体与该初始图片的人物的深度位置关系,并移除该初始图片的环境光,以及渲染虚拟环境光,得到合成图片。
应理解,图15所示的终端设备可对应于图17所示的终端设备。其中,图15所示的无线通信模块15(或移动通信模块16)可以对应于图17中的发送模块701和接收模块702,图15所示的处理器10可以对应于图17中的处理模块703。
图18为本申请实施例提供的云端服务器的示意性框图。该云端服务器可以用于执行上文方法实施例中云端服务器所执行的动作。该云端服务器可以包括:接收模块801、处理模块802和发送模块803。
接收模块801,可以用于接收来自终端设备的场景信息、初始图片和位姿数据,该场景信息用于指示用户期望在目标地点模拟的场景,该初始图片为终端设备在该目标地点拍摄的图片,该位姿数据用于指示终端设备拍摄该初始图片时的初始位姿。
处理模块802,可以用于根据该场景信息、该初始图片和该位姿数据,生成目标虚拟场景,该目标虚拟场景为包含至少一个虚拟物体的二维图像,一个虚拟物体的语义与初始图片的一个真实物体的语义相同。
发送模块803,可以用于向终端设备发送该目标虚拟场景,该目标虚拟场景用于生成合成图片。
应理解,图16所示的云端服务器可对应于图18所示的云端服务器。其中,图16所示的通信接口504可以对应于图18中的接收模块801和发送模块803,图16所示的处理器501可以对应于图18中的处理模块802。
可选地,在一些实施例中,本申请提供一种终端设备,包括处理器和通信接口,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序或指令,以使得终端设备实现上述各实施例中的方法。
可选地,在一些实施例中,本申请提供一种云端服务器,包括处理器和通信接口,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序或指令,以使得云端服务器实现上述各实施例中的方法。
可选地,在一些实施例中,本申请提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
可选地,在一些实施例中,本申请提供一种终端设备,该终端设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
可选地,在一些实施例中,本申请提供一种云端服务器,该云端服务器包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
可选地,在一些实施例中,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
可选地,在一些实施例中,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种拍照方法,其特征在于,所述方法包括:
向云端服务器发送场景信息、初始图片和位姿数据,所述场景信息用于指示用户期望在目标地点模拟的虚拟场景,所述初始图片为终端设备在所述目标地点拍摄的图片,所述位姿数据用于指示所述终端设备拍摄所述初始图片时的初始位姿,所述场景信息、所述初始图片和所述位姿数据用于生成虚拟场景,所述用户期望在目标地点模拟的虚拟场景不同于拍摄所述初始图片时的真实场景;
接收来自所述云端服务器的目标虚拟场景,所述目标虚拟场景为包含虚拟物体的二维图像,所述虚拟物体的语义与所述初始图片的真实物体的语义匹配,所述虚拟物体用于替换所述真实物体;
根据所述目标虚拟场景处理所述初始图片,得到合成图片。
2.根据权利要求1所述的方法,其特征在于,所述用户期望在目标地点模拟的虚拟场景包括以下至少一项:目标天气的拍摄场景、目标季节的拍摄场景、目标节气的拍摄场景、目标时间的拍摄场景和目标风格的拍摄场景。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标虚拟场景处理所述初始图片,包括:
将所述初始图片中与所述虚拟物体的语义匹配的真实物体,替换为所述虚拟物体。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标虚拟场景处理所述初始图片,还包括:
调整所述虚拟物体与所述初始图片的真实物体的深度位置关系;
和/或,
对所述初始图片渲染虚拟环境光。
5.根据权利要求4所述的方法,其特征在于,所述调整所述虚拟物体与所述初始图片的真实物体的深度位置关系,包括:
确定所述虚拟物体的深度值以及所述初始图片的真实物体的深度值;
根据所述虚拟物体的深度值以及所述初始图片的真实物体的深度值,调整所述虚拟物体与所述初始图片的真实物体的深度位置关系。
6.根据权利要求5所述的方法,其特征在于,所述虚拟物体包括第一虚拟物体和第二虚拟物体,所述初始图片包括第一真实物体和第二真实物体,所述第一虚拟物体的语义与所述第一真实物体的语义匹配,所述第一虚拟物体的语义与所述第二真实物体的语义不匹配,所述第二虚拟物体的语义与所述第一真实物体和第二真实物体的语义均不匹配;
所述将所述初始图片中与所述虚拟物体的语义匹配的真实物体,替换为所述虚拟物体,包括:
将所述第一真实物体替换为所述第一虚拟物体;
所述根据所述虚拟物体的深度值以及所述初始图片的真实物体的深度值,调整所述虚拟物体与所述初始图片的真实物体的深度位置关系,包括:
根据所述第一虚拟物体的深度值、所述第二虚拟物体的深度值和所述第二真实物体的深度值,调整所述第一虚拟物体、所述第二虚拟物体和所述第二真实物体的深度位置关系。
7.根据权利要求4所述的方法,其特征在于,所述对所述初始图片渲染虚拟环境光,包括:
确定与所述目标虚拟场景对应的光照球谐系数;
按照与所述目标虚拟场景对应的光照球谐系数,对所述初始图片渲染虚拟环境光。
8.根据权利要求7所述的方法,其特征在于,所述按照与所述目标虚拟场景对应的光照球谐系数,对所述初始图片渲染虚拟环境光之前,所述方法还包括:
确定所述初始图片的光照球谐系数;
根据所述初始图片的光照球谐系数,移除所述初始图片的环境光。
9.根据权利要求1所述的方法,其特征在于,所述向云端服务器发送场景信息、初始图片和位姿数据之前,所述方法还包括:
响应于用户对所述终端设备的虚拟场景的选择操作,生成所述场景信息;
响应于用户对所述终端设备的拍摄操作,获取所述初始图片,并通过传感器采集所述位姿数据。
10.一种拍照方法,其特征在于,所述方法包括:
接收来自终端设备的场景信息、初始图片和位姿数据,所述场景信息用于指示用户期望在目标地点模拟的虚拟场景,所述初始图片为所述终端设备在所述目标地点拍摄的图片,所述位姿数据用于指示所述终端设备拍摄所述初始图片时的初始位姿,所述用户期望在目标地点模拟的虚拟场景不同于拍摄所述初始图片时的真实场景;
根据所述场景信息、所述初始图片和所述位姿数据,生成目标虚拟场景,所述目标虚拟场景为包含虚拟物体的二维图像,所述虚拟物体的语义与所述初始图片的真实物体的语义匹配,所述虚拟物体用于替换真实物体;
向所述终端设备发送所述目标虚拟场景,所述目标虚拟场景用于生成合成图片。
11.根据权利要求10所述的方法,其特征在于,所述用户期望在目标地点模拟的虚拟场景包括以下至少一项:目标天气的拍摄场景、目标季节的拍摄场景、目标节气的拍摄场景、目标时间的拍摄场景和目标风格的拍摄场景。
12.根据权利要求10所述的方法,其特征在于,所述根据所述场景信息、所述初始图片和所述位姿数据,生成目标虚拟场景,包括:
根据所述场景信息、所述初始图片和所述位姿数据,从预先建立的场景模型集合中确定目标场景模型,并确定所述终端设备拍摄所述初始图片时的精确位姿,所述场景模型集合由与多个地点的每个语义对象对应的场景模型组成;
根据所述目标场景模型和所述精确位姿,生成所述目标虚拟场景。
13.根据权利要求12所述的方法,其特征在于,所述根据所述场景信息、所述初始图片和所述位姿数据,从预先建立的场景模型集合中确定目标场景模型,并确定所述终端设备拍摄所述初始图片时的精确位姿,包括:
根据所述位姿数据,从云端图像数据库中确定满足所述位姿数据的初始图像集合,所述云端图像数据库包含了用于建立所述场景模型集合的图像;
对所述初始图片和所述初始图像集合进行目标信息提取和匹配,并根据所述目标信息提取和匹配的结果,从所述初始图像集合中确定目标图片,所述目标信息包括图像特征和/或语义信息;
根据所述初始图片以及由所述目标图片建立的场景模型,确定所述终端设备拍摄所述初始图片时的精确位姿;
从场景模型子集合中确定符合所述场景信息的多个场景模型,并将所述多个场景模型组合为所述目标场景模型,所述场景模型子集合由所述场景模型集合中与所述目标图片的语义对象对应的场景模型组成。
14.根据权利要求13所述的方法,其特征在于,所述对所述初始图片和所述初始图像集合进行目标信息提取和匹配,并根据所述目标信息提取和匹配的结果,从所述初始图像集合中确定目标图片,包括:
采用第一提取算法,提取所述初始图片和所述初始图像集合的图像特征;
根据所述初始图片和所述初始图像集合的图像特征的匹配结果,从所述初始图像集合中确定出图像候选集;
采用第二提取算法,提取所述初始图片和所述图像候选集的图像特征和语义信息;
根据所述初始图片和所述图像候选集的图像特征和语义信息的匹配结果,从所述图像候选集中确定出所述目标图片;
其中,第一提取算法和第二提取算法不同。
15.根据权利要求12至14中任一项所述的方法,其特征在于,与一个地点的每个语义对象对应场景模型,通过下述方式创建:
获取一个地点的多个图像;
提取所述多个图像的图像特征和所述多个图像的语义信息,所述多个图像的语义信息用于指示语义对象的语义;
根据所述多个图像的图像特征的匹配结果,为所述一个地点的每个语义对象分别创建至少一个场景模型。
16.一种终端设备,其特征在于,包括处理器和通信接口,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序或指令,以使得所述终端设备实现如权利要求1至9中任一项所述的拍照方法。
17.一种云端服务器,其特征在于,包括处理器和通信接口,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序或指令,以使得所述云端服务器实现如权利要求10至15中任一项所述的拍照方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在终端设备上运行时,使得所述终端设备执行如权利要求1至9中任一项所述的拍照方法,或者,当所述计算机程序在云端服务器上运行时,使得所述云端服务器执行如权利要求10至15中任一项所述的拍照方法。
CN202210094573.XA 2022-01-26 2022-01-26 拍照方法、终端设备及云端服务器 Active CN114125310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210094573.XA CN114125310B (zh) 2022-01-26 2022-01-26 拍照方法、终端设备及云端服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210094573.XA CN114125310B (zh) 2022-01-26 2022-01-26 拍照方法、终端设备及云端服务器

Publications (2)

Publication Number Publication Date
CN114125310A CN114125310A (zh) 2022-03-01
CN114125310B true CN114125310B (zh) 2022-07-05

Family

ID=80362001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210094573.XA Active CN114125310B (zh) 2022-01-26 2022-01-26 拍照方法、终端设备及云端服务器

Country Status (1)

Country Link
CN (1) CN114125310B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114793276A (zh) * 2022-04-22 2022-07-26 上海爱客博信息技术有限公司 一种拟真现实元宇宙平台3d全景拍摄方法
CN114984595A (zh) * 2022-06-06 2022-09-02 浙江未有文化传媒有限公司 一种3d全系数字舞台测试系统
CN115147520A (zh) * 2022-06-07 2022-10-04 聚好看科技股份有限公司 基于视觉语义驱动虚拟人物的方法及设备
CN115063565B (zh) * 2022-08-08 2023-01-24 荣耀终端有限公司 一种可穿戴物品的试戴方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825544A (zh) * 2015-11-25 2016-08-03 维沃移动通信有限公司 一种图像处理方法及移动终端
CN111833457A (zh) * 2020-06-30 2020-10-27 北京市商汤科技开发有限公司 图像处理方法、设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109685906A (zh) * 2017-10-18 2019-04-26 深圳市掌网科技股份有限公司 基于增强现实的场景融合方法和装置
CN110458902B (zh) * 2019-03-26 2022-04-05 华为技术有限公司 3d光照估计方法及电子设备
CN113110731B (zh) * 2019-12-25 2023-07-14 华为技术有限公司 媒体内容生成的方法和装置
CN111610998A (zh) * 2020-05-26 2020-09-01 北京市商汤科技开发有限公司 Ar场景内容的生成方法、展示方法、装置及存储介质
CN112348933B (zh) * 2020-11-18 2023-10-31 北京达佳互联信息技术有限公司 动画生成方法、装置、电子设备及存储介质
CN113643357A (zh) * 2021-07-12 2021-11-12 杭州易现先进科技有限公司 一种基于3d定位信息的ar人像拍照方法和系统
CN113840049A (zh) * 2021-09-17 2021-12-24 阿里巴巴(中国)有限公司 图像处理方法、视频流场景切换方法、装置、设备及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105825544A (zh) * 2015-11-25 2016-08-03 维沃移动通信有限公司 一种图像处理方法及移动终端
CN111833457A (zh) * 2020-06-30 2020-10-27 北京市商汤科技开发有限公司 图像处理方法、设备及存储介质

Also Published As

Publication number Publication date
CN114125310A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN114125310B (zh) 拍照方法、终端设备及云端服务器
CN110910486B (zh) 室内场景光照估计模型、方法、装置、存储介质以及渲染方法
CN108564647B (zh) 一种建立虚拟三维地图的方法
CN102647449B (zh) 基于云服务的智能摄影方法、装置及移动终端
CN107871339B (zh) 视频中虚拟对象色彩效果的渲染方法和装置
WO2023280038A1 (zh) 一种三维实景模型的构建方法及相关装置
JP4963105B2 (ja) 画像を記憶する方法、装置
CN104243798B (zh) 图像处理装置、服务器和存储介质
JP2015084229A (ja) カメラ姿勢決定方法、及び実環境物体認識方法
CN113572962B (zh) 室外自然场景光照估计方法及装置
JP2006053694A (ja) 空間シミュレータ、空間シミュレート方法、空間シミュレートプログラム、記録媒体
WO2021177324A1 (ja) 画像生成装置、画像生成方法、記録媒体生成方法、学習モデル生成装置、学習モデル生成方法、学習モデル、データ処理装置、データ処理方法、推論方法、電子機器、生成方法、プログラム及び非一時的コンピュータ可読媒体
CN104580920A (zh) 一种成像处理的方法及用户终端
WO2021093679A1 (zh) 视觉定位方法和装置
WO2020211427A1 (zh) 基于扫描点云数据的分割与识别方法、系统及存储介质
JP2013196616A (ja) 情報端末装置、情報処理方法
CN115147554A (zh) 三维场景构建方法、装置、设备和存储介质
CN116342783A (zh) 一种实景三维模型数据渲染优化方法及系统
WO2021151380A1 (en) Method for rendering virtual object based on illumination estimation, method for training neural network, and related products
CN112288878B (zh) 增强现实预览方法及预览装置、电子设备及存储介质
WO2022040868A1 (zh) 全景拍摄方法、电子设备及存储介质
KR101873681B1 (ko) 항공 촬영 정보 기반 가상 조망 시스템 및 방법
CN110674422A (zh) 一种根据真实场景信息实现虚拟场景显示的方法及系统
Bres et al. Localisation and augmented reality for mobile applications in culture heritage
CN117896509A (zh) 一种ar拍摄场景实时光照效果的预览方法和系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230913

Address after: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New Area, Pudong New Area, Shanghai

Patentee after: Shanghai Glory Smart Technology Development Co.,Ltd.

Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee before: Honor Device Co.,Ltd.