一种三维模型重建的方法以及装置与流程

未命名 09-22 阅读:46 评论:0
1.本技术实施例涉及图像处理
技术领域
:,并且更加具体地涉及一种三维模型重建的方法以及装置。
背景技术
::2.目前三维模型重建在三维打印、娱乐、扩展现实(extendedreality,xr)、元宇宙(metaverse)等领域有着重要应用。目前可以根据一张或多张图像生成三维模型。根据多张图像生成三维模型的过程较为繁琐;根据单张图像生成的三维模型存在缺少细节,纹理真实感差等问题。技术实现要素:3.本技术实施例提供一种三维模型重建的方法以及装置,可以使用包含目标对象的图像对目标对象进行三维模型重建,并利用目标对象的真实纹理修复重建的三维模型,从而可以得到包含真实纹理的三维模型,提高了三维模型的真实性。4.第一方面,提供了一种三维模型重建的方法,该方法包括:获取第一图像,该第一图像包括目标对象的第一正面纹理;根据该第一图像得到三维网格模型和该三维网格模型的顶点颜色;根据该三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,该第一三维模型包括第二正面纹理;将该第二正面纹理与该第一正面纹理进行融合处理以得到第二三维模型。5.本技术实施中,电子设备可以使用包含目标对象的图像对目标对象进行三维模型重建,并利用目标对象的真实纹理修复重建的三维模型,从而可以得到包含真实纹理的三维模型,提高了三维模型的真实性。6.结合第一方面,在第一方面的某些实现方式中,该第一三维模型还包括第一侧面纹理该方法还包括:对该第二三维模型的纹理进行腐蚀和膨胀处理以得到第二侧面纹理;将该第二侧面纹理与该第一侧面纹理进行融合处理以得到第三三维模型。7.本技术实施例中,可以对三维模型的侧面纹理进行修复,保证了三维模型侧面纹理的过渡自然,提高了三维模型的真实性。8.结合第一方面,在第一方面的某些实现方式中,该第一三维模型还包括第一背面纹理,该方法还包括:获取第三图像,该第三图像包括该目标对象的第二背面纹理;去除该第三图像的背景得到第四图像,该第四图像包括该第二背面纹理;利用该第二背面纹理匹配该第二三维模型;将该第二背面纹理与该第一背面纹理进行融合处理以得到第四三维模型。9.本技术实施中,电子设备还可以通过获取包含目标对象的背面的图像对三维模型进行背面纹理的修复,从而获得具有真实正面纹理和真实背面纹理的三维模型,提高了三维模型的真实性。10.结合第一方面,在第一方面的某些实现方式中,该根据该第一图像得到三维网格模型和该三维网格模型的顶点颜色,包括:去除该第一图像的背景得到第二图像;根据该第二图像生成该三维网格模型和确定该三维网格模型的顶点颜色。11.结合第一方面,在第一方面的某些实现方式中,该根据该三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,包括:根据该三维网格模型的顶点的空间坐标确定该三维网格模型的顶点的纹理坐标;确定纹理图的尺寸;根据该三维网格模型的顶点的纹理坐标和该纹理图的尺寸确定该三维网格模型的顶点在该纹理图中的坐标;网格化该纹理图;确定该纹理图中每一个网格点对应的面片;根据该每一个网格点对应的面片确定该每一个网格点的颜色;根据该每一个网格点的颜色确定该纹理图的颜色;根据该纹理图和该三维网格模型生成该第一三维模型。12.结合第一方面,在第一方面的某些实现方式中,该目标对象为人体或人体雕塑。13.结合第一方面,在第一方面的某些实现方式中,该第一图像为即时拍摄得到的,或从存储的图片中选取的。14.结合第一方面,在第一方面的某些实现方式中,该第三图像为即时拍摄得到的,或从存储的图片中选取的15.第二方面,提供了一种电子设备,该电子设备包括一个或多个处理器;一个或多个存储器;一个或多个摄像头;该一个或多个存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:获取第一图像,该第一图像包括目标对象的第一正面纹理;根据该第一图像得到三维网格模型和该三维网格模型的顶点颜色;根据该三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,该第一三维模型包括第二正面纹理;将该第二正面纹理与该第一正面纹理进行融合处理以得到第二三维模型。16.本技术实施中,电子设备可以使用包含目标对象的图像对目标对象进行三维模型重建,并利用目标对象的真实纹理修复重建的三维模型,从而可以得到包含真实纹理的三维模型,提高了三维模型的真实性。17.结合第二方面,在第二方面的某些实现方式中,该第一三维模型还包括第一侧面纹理,该电子设备还执行以下步骤:对该第二三维模型的纹理进行腐蚀和膨胀处理以得到第二侧面纹理;将该第二侧面纹理与该第一侧面纹理进行融合处理以得到第三三维模型。18.本技术实施例中,可以对三维模型的侧面纹理进行修复,保证了三维模型侧面纹理的过渡自然,提高了三维模型的真实性。19.结合第二方面,在第二方面的某些实现方式中,该第一三维模型还包括第一背面纹理,该电子设备还执行以下步骤:获取第三图像,该第三图像包括该目标对象的第二背面纹理;去除该第三图像的背景得到第四图像,该第四图像包括该第二背面纹理;利用该第二背面纹理匹配该第二三维模型;将该第二背面纹理与该第一背面纹理进行融合处理以得到第四三维模型。20.本技术实施中,电子设备还可以通过获取包含目标对象的背面的图像对三维模型进行背面纹理的修复,从而获得具有真实正面纹理和真实背面纹理的三维模型,提高了三维模型的真实性。21.结合第二方面,在第二方面的某些实现方式中,该电子设备具体用于执行以下步骤:去除该第一图像的背景得到第二图像;根据该第二图像生成该三维网格模型和确定该三维网格模型的顶点颜色。22.结合第二方面,在第二方面的某些实现方式中,该电子设备具体用于执行以下步骤:根据该三维网格模型的顶点的空间坐标确定该三维网格模型的顶点的纹理坐标;确定纹理图的尺寸;根据该三维网格模型的顶点的纹理坐标和该纹理图的尺寸确定该三维网格模型的顶点在该纹理图中的坐标;网格化该纹理图;确定该纹理图中每一个网格点对应的面片;根据该每一个网格点对应的面片确定该每一个网格点的颜色;根据该每一个网格点的颜色确定该纹理图的颜色;根据该纹理图和该三维网格模型生成该第一三维模型.23.结合第二方面,在第二方面的某些实现方式中,该目标对象为人体或人体雕塑。24.结合第二方面,在第二方面的某些实现方式中,该电子设备具体用于执行以下步骤:通过该一个或多个摄像头即时拍摄得到该第一图像,或从该一个或多个存储器中选取该第一图像。25.结合第二方面,在第二方面的某些实现方式中,该电子设备具体用于执行以下步骤:通过该一个或多个摄像头即时拍摄得到该第三图像,或从该一个或多个存储器中选取该第三图像。26.第三方面,提供了一种芯片,该芯片与电子设备中的存储器耦合,用于调用存储器中存储的计算机程序并执行本技术实施例第一方面及其第一方面任一可能设计的技术方案;本技术实施例中“耦合”是指两个部件彼此直接或间接地结合。27.第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得该电子设备执行如上述第一方面及其第一方面任一可能设计的技术方案。28.第五方面,提供了一种计算机程序,该计算机程序包括指令,当该指令在计算机上运行时,使得该计算机执行如上述第一方面及其第一方面任一可能设计的技术方案。29.其中,第三方面至第五方面的有益效果,请参见第一方面的有益效果,不重复赘述。附图说明30.图1是本技术实施例提供的一种电子设备的结构示意图。31.图2是本技术实施例的电子设备的软件结构框图。32.图3是本技术实施例提供的一种系统架构。33.图4是本技术实施例提供的一种系统架构。34.图5是本技术实施例提供的一组gui。35.图6是本技术实施例提供的一组gui。36.图7是本技术实施例提供的一组gui。37.图8是本技术实施例提供的一组gui。38.图9是本技术实施例提供的一组gui。39.图10是本技术实施例提供的一组gui。40.图11是本技术实施例提供的三维模型重建方法的示意性流程图。41.图12是本技术实施例提供的三维模型重建方法的一例示意性流程图。42.图13是本技术实施例提供的三维模型重建方法的一例示意性流程图。43.图14是本技术实施例提供的三维模型重建方法的一例示意性流程图。44.图15是本技术实施例提供的三维模型重建方法的一例示意性流程图。具体实施方式45.以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本技术以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a、b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。46.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。47.以下介绍电子设备和用于使用这样的电子设备的实施例。在一些实施例中,电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载鸿蒙(harmonyos)或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机、智能电视、智能音箱等。48.示例性的,图1示出了电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,指南针190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentificationmodule,sim)卡接口195等。49.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。50.其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备101也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备101处理数据或执行指令的效率。51.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integratedcircuit,i2c)接口,集成电路间音频(nter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,sim卡接口,和/或usb接口等。其中,usb接口130是符合usb标准规范的接口,具体可以是miniusb接口,microusb接口,usbtypec接口等。usb接口130可以用于连接充电器为电子设备101充电,也可以用于电子设备101与外围设备之间传输数据。该usb接口130也可以用于连接耳机,通过耳机播放音频。52.外部存储器接口120可以用于连接外部存储卡,例如microsd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。53.内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备101使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universalflashstorage,ufs)、嵌入式多媒体卡(embeddedmultimediacard,emmc)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备101执行本技术实施例中所提供的方法,以及其他应用及数据处理。电子设备100可以通过音频模块170、扬声器170a、受话器170b、麦克风170c、耳机接口170d、以及应用处理器等实现音频功能。例如音乐播放、录音等。54.电子设备100可以通过isp、摄像头193、视频编解码器、gpu、显示屏194以及应用处理器等实现拍摄功能。55.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点、亮度、肤色进行算法优化。isp还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。56.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(chargecoupleddevice,ccd)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或多个摄像头193。57.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。58.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)1、mpeg2、mpeg3、mpeg4等。59.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别、人脸识别、语音识别、文本理解、三维模型重建等。60.图2是本技术实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。61.如图2所示,应用程序包可以包括相机、图库、日历、通话、地图、导航、wlan、蓝牙、音乐、视频、短信息等应用程序。62.应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架,应用程序框架层包括一些预先定义的函数。63.如图2所示,应用程序框架层可以包括窗口管理器、内容提供器、视图系统、电话管理器、资源管理器、通知管理器等。64.窗口管理器用于管理窗口程序,窗口管理器可以获取显示屏大小,判断是否有状态栏、锁定屏幕、截取屏幕等。65.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频、图像、音频、拨打和接听的电话、浏览历史和书签、电话簿等。66.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。67.电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。68.资源管理器为应用程序提供各种资源,比如本地化字符串、图标、图片、布局文件、视频文件等等。69.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息、发出提示音、电子设备振动、指示灯闪烁等。70.系统库可以包括多个功能模块。例如:表面管理器(surfacemanager)、媒体库(medialibraries)、三维图形处理库(例如:opengles)、2d图形引擎(例如:sgl)等。71.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。72.媒体库支持多种常用的音频、视频格式回放和录制以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4、h.264、mp3、aac、amr、jpg和png等。73.三维图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。74.2d图形引擎是2d绘图的绘图引擎。75.内核层是硬件和软件之间的层。内核层至少包含显示驱动、摄像头驱动、音频驱动、传感器驱动。76.在介绍本技术实施例之前,先介绍几个和本技术实施例相关的概念。77.(1)神经网络78.神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:[0079][0080]其中,s=1、2、……n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activationfunctions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。[0081](2)深度神经网络[0082]深度神经网络(deepneuralnetwork,dnn),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对dnn进行划分,dnn内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。[0083]虽然dnn看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,w是权重矩阵(也称系数),α()是激活函数。每一层是对输入向量经过如此简单的操作得到输出向量由于dnn层数多,系数w和偏移向量的数量也比较多。这些参数在dnn中的定义如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数w所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。[0084]综上,第l-1层的第k个神经元到第l层的第j个神经元的系数定义为[0085]需要注意的是,输入层是没有w参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。[0086](3)卷积神经网络[0087]卷积神经网络(convolutionalneuronnetwork,cnn)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。[0088](4)三维模型[0089]三维模型是物体的多边形表示,可以用计算机等电子设备进行显示。三维模型表示的物体可以是真实的实体,也可以是虚拟的物体。三维模型可以通过三维算法生成。[0090]三维模型可以使用纹理(texture)进行覆盖,将纹理覆盖在三维模型的过程可以称为纹理映射。纹理可以理解为图像,可以让三维模型更加细致与真实。[0091]三维模型包括网格(mesh)和纹理。网格是由物体的许多点云组成的,通过点云形成三维模型网格。点云可以包括三维坐标(xyz)、颜色等信息。在本技术的另一些实施例中,点云还可以包括激光反射强度(intensity)。三维模型网格可以由三角形、四边形或者其它的多形成组成。纹理可以包括物体表面的纹理(即,使物体表面呈现凹凸不平的沟纹),还可以包括物体的光滑表面上的彩色图案。纹理也可以被称为纹理贴图。将纹理映射到三维模型能使三维模型更加真实。通过对物体进行拍摄的图像进行加工,可以得到该物体的三维模型网格,对该三维模型网格进行纹理映射,最终形成三维模型。[0092](5)rgb图像和rgbd图像[0093]rgb图像是指通过红、绿和蓝三个颜色通道的变化以及它们相互之间的叠加得到的包括各种颜色的图像。rgbd图像是指图像中不仅包括红、绿和蓝三个颜色通道还包括深度值(depthvalue)。深度值可以理解为图像中各点相对于摄像机的距离。本技术实施例中的图像可以是rgb图像,也可以是rgbd图像,本技术实施例对此不作限定。[0094](6)掩膜(mask)[0095]掩膜是指用于遮挡待处理的图像的图像。掩膜主要有以下几个作用:(1)通过掩膜可以得到待处理图像中的感兴趣的区域;(2)通过掩膜可以屏蔽待处理图像上的部分区域,使得该部分区域不参于下一步的处理过程。[0096](7)图像分割[0097]图像分割是指将图像分割成若干个区域,该若干个区域中的不同区域可以有着不同的性质。例如,一张包含人体和背景的图像,可以通过图像分割,将人体和背景分割,得到一张仅包括人体的图像和一种仅包括背景的图像。常见的图像分割方法有以下几种:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法、基于特定理论的分割方法等。需要说明的是,本技术实施例中,图像分割方法并不限定于上述几种,还可以采用其他图像分割方法以得到感兴趣的图像区域。[0098]图3所示为本技术提供的一种系统架构300。在图3中,数据采集设备360用于采集建模数据,本技术实施例中建模数据可以是人物、雕塑等对应的数据。建模数据可以是图像数据。[0099]数据采集设备360在采集到建模数据后,可以将该建模数据存储在数据库330中,训练设备320可以基于数据库330中的数据训练得到目标模型/规则301。[0100]上述目标模型/规则301能够用于实现本技术实施例的图像文本识别方法。本技术实施例中的目标模型/规则301具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库330中维护的训练数据不一定都来自于数据采集设备360的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备320也不一定完全基于数据库330维护的训练数据进行目标模型/规则301的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本技术实施例的限定。[0101]根据训练设备320训练得到的目标模型/规则301可以应用于不同的系统或设备中,如应用于图3所示的执行设备310,所述执行设备310可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmentedreality,ar)ar/虚拟现实(virtualreality,vr),车载终端等,还可以是服务器或者云端等。在图3中,执行设备310配置输入/输出(input/output,i/o)接口212,用于与外部设备进行数据交互,用户可以通过客户设备340向i/o接口312输入数据,所述输入数据在本技术实施例中可以包括:客户设备输入的待识别的图像。[0102]预处理模块313和预处理模块314用于根据i/o接口312接收到的输入数据(如待处理图像)进行预处理,在本技术实施例中,也可以没有预处理模块313和预处理模块314(也可以只有其中的一个预处理模块),而直接采用计算模块311对输入数据进行处理。[0103]在执行设备310对输入数据进行预处理,或者在执行设备310的计算模块311执行计算等相关的处理过程中,执行设备310可以调用数据存储系统350中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统350中。计算模块311使用目标模型/规则301对输入的数据进行处理,例如,在本技术实施例中,对输入的待处理图像进行处理,得到图像处理结果(例如,三维人体重建)。[0104]最后,i/o接口312将处理结果返回给客户设备240,从而提供给用户。[0105]值得说明的是,训练设备320可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则301,该相应的目标模型/规则301即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。[0106]值得注意的是,图3仅是本技术实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统350相对执行设备310是外部存储器,在其它情况下,也可以将数据存储系统350置于执行设备310中。[0107]如图4所示,本技术实施例提供了一种系统架构400,该系统架构包括本地设备401,本地设备402以及执行设备410和数据存储系统450,其中,本地设备401和本地设备402通过通信网络与执行设备410连接。[0108]执行设备410可以由一个或多个服务器实现。可选的,执行设备410可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备410可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备410可以使用数据存储系统450中的数据,或者调用数据存储系统450中的程序代码来实现本技术实施例的三维模型重建的方法。[0109]用户可以操作各自的用户设备(例如本地设备401和本地设备402)与执行设备410进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。[0110]每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备410进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。[0111]在一种实现方式中,本地设备401、本地设备402从执行设备410获取到神经网络的相关参数,将神经网络部署在本地设备401、本地设备402上,利用该神经网络进行三维模型重建。[0112]在另一种实现中,执行设备410上可以直接部署神经网络预测器,执行设备410通过从本地设备401和本地设备402获取网络结构,并利用该神经网络进行三维模型重建。[0113]在一种实现方式中,本地设备401、本地设备402从执行设备410获取到三维模型重建装置的相关参数,将三维模型重建装置部署在本地设备401、本地设备402上,利用该三维模型重建装置对输入图像进行三维模型重建。[0114]在另一种实现中,执行设备410上可以直接部署三维模型重建装置,执行设备410通过从本地设备401和本地设备402获取输入图像,并利用该三维模型重建装置对输入图像进行三维模型重建。[0115]也就是说,上述执行设备410也可以为云端设备,此时,执行设备410可以部署在云端;或者,上述执行设备410也可以为终端设备,此时,执行设备410可以部署在用户终端侧,本技术实施例对此并不限定。[0116]本技术实施例提供的三维模型重建的方法可以在服务器上被执行,也可以在云端被执行,还可以在终端设备上被执行。以终端设备为例,本发明实施例的技术方案可以应用于终端设备,本技术实施例中的三维模型重建的方法可以对输入图像进行三维模型重建,得到该输入图像中的三维模型。终端设备可以为移动的或固定的,例如该终端设备可以是具有图像处理功能的移动电话、平板个人电脑(tabletpersonalcomputer,tpc)、媒体播放器、智能电视、笔记本电脑(laptopcomputer,lc)、个人数字助理(personaldigitalassistant,pda)、个人计算机(personalcomputer,pc)、照相机、摄像机、智能手表、可穿戴式设备(wearabledevice,wd)或者自动驾驶的车辆等,本发明实施例对此不作限定。[0117]目前三维模型重建在三维打印、娱乐、元宇宙等领域有着重要应用。目前可以根据一张或多张图像生成三维模型。根据多张图像生成三维模型的过程较为繁琐;根据单张图像生成的三维模型存在缺少细节,纹理真实感差等问题。基于此,本技术实施例提供一种三维模型重建的方法,可以提高三维模型的纹理真实性,优化三维模型的显示效果,提高用户的使用体验。[0118]下文在介绍本技术实施例时以重建的对象是人物为例,其中人物可以是真实的人,还可以是人物雕塑,但本技术并不限定于此,重建的对象还可以是其他物体,例如宠物、毛绒玩具等。[0119]图5示出了本技术实施例提供的一组图形用户界面(graphicaluserinterface,gui)。[0120]如图5中的(a)所示,桌面上显示有多个应用图标,其中应用图标501是用于重建三维模型的应用程序对应的应用图标。当电子设备检测到用户点击应用图标501的操作,可以响应该操作,显示如图5中的(b)所示的gui。[0121]如图5中的(b)所示,电子设备响应于检测到用户点击应用图标501的操作,可以显示界面502。界面502可以称为拍摄界面。[0122]可选的,在一些实施例中,界面502还可以显示提示信息“请拍摄三维模型重建的对象”。[0123]如图5中的(c)所示,用户可以使用电子设备拍摄需要三维模型重建的对象,当用户确定需要三维模型重建的目标对象在界面502中时,可以点击控件503进行图像的拍摄,则电子设备可将拍摄得到的图像作为目标图像,目标图像中的人物或物体可以称为目标对象。当电子设备检测到用户点击控件503的操作,响应于该操作,可以显示如图5中的(d)所示的gui。[0124]如图5中的(d)所示,电子设备响应于检测到用户点击控件503的操作,可以对目标对象进行三维模型重建,在完成三维模型重建后,可以显示界面504,界面504为模型预览界面,用于显示重建的三维模型。[0125]进一步的,用户可以在界面504中转动三维模型。例如,如图5中的(d)和(e)所示,用户可以转动模型,使得在界面504上显示模型的另一面。[0126]继续参见图5中的(d),当电子设备检测到用户点击控件505的操作,可以响应于该操作,将三维模型存储在电子设备中。[0127]可选的,在一些实施例中,在界面504中,电子设备响应于检测到用户的预设手势,可以缩小或放大该三维模型。[0128]需要说明的是,上述实施例中以拍摄图像并进行三维模型重建为例,但本技术实施例并不限定于此,例如,用户还可以选取电子设备存储器中的图像,电子设备以该图像进行三维模型重建。[0129]可选的,在一些实施例中,界面502还可以包括取景框,以提示用户将需要重建的对象设置在取景框内。参见图6,图6示出了本技术实施例提供的另一组gui。如图6中的(a)和(b)所示,界面502还可以包括取景框506,用户在拍摄图像时,可以将需要重建的对象设置在取景框506内。[0130]一种可能的实现方式,电子设备响应于检测到用户点击控件501的操作后,显示界面502的同时还显示取景框506。取景框506可以是默认形状的取景框(例如,人形取景框)。本技术实施例中,电子设备可以包括多种取景框,例如可以有人形取景框、宠物取景框等,其中,人形取景框还可以包括多种不同的姿态以适配不同的人物造型。用户在拍摄图像时,当发现默认的取景框与拍摄的对象不匹配时,可以选择与拍摄对象匹配的取景框,或电子设备可以根据拍摄对象的不同,自动更换不同的取景框。[0131]一种可能的实现方式,电子设备可以识别拍摄的对象,当电子设备识别出拍摄的对象时可以显示与该对象匹配的取景框。例如,电子设备可以识别用户正在拍摄的对象为人物或者人物雕塑或者人物图像时,则电子设备可以显示人形取景框。[0132]上述实施例中以通过三维模型重建应用程序对用户拍摄的对象进行三维模型重建为例,但是本技术并不限定于此,本技术实施例中,用户还可以用过相机应用程序实现三维模型重建的功能。[0133]一种可能的实现方式,相机应用程序集成有三维模型重建的功能。[0134]一种可能的实现方式,相机应用程序集成有跳转到三维模型重建应用程序的入口控件。[0135]图7示出了本技术实施例提供的另一组gui。[0136]如图7中的(a)所示,桌面上显示有多个应用图标,其中应用图标701是相机应用程序的图标。当电子设备检测到用户点击应用图标701的操作,可以响应该操作,显示如图7中的(b)所示的gui。[0137]如图7中的(b)所示,电子设备响应于检测到用户点击应用图标701的操作,可以显示界面702,界面702可以称为拍摄界面。[0138]如图7中的(c)所示,用户可以使用电子设备拍摄需要三维模型重建的对象,当用户确定需要三维模型重建的对象在界面702中时,可以点击控件703,则电子设备拍摄并存储图像。[0139]如图7中的(d)和(e)所示,电子设备响应于检测到用户点击控件704的操作,可以显示界面705,界面705可以用于显示已存储在电子设备中的图像。界面705可以包括一个或多个控件,例如发送控件、编辑控件、收藏控件、三维模型重建控件706等。电子设备响应于检测到用户点击三维模型重建控件706的操作,可以以界面705显示的图像为目标图像进行三维模型重建,显示如图7中的(f)和(g)所示的gui。[0140]应理解,针对图7中的(f)和(g)的描述可以参见上文,为了简介,在此不再赘述。[0141]还应理解,图7所涉及的相机应用程序可以是电子设备系统自带的相机应用程序,也可以是第三方相机应用程序,本技术对此不作限定。[0142]本技术实施中,电子设备可以使用包含目标对象的图像对目标对象进行三维模型重建,并利用目标对象的真实纹理修复重建的三维模型,从而可以得到包含真实纹理的三维模型。[0143]上述实施例中,电子设备可以根据图像进行三维模型重建,从而得到细节丰富、真实的正面纹理。下面将结合图8介绍涉及三维模型侧面纹理的gui,以及结合图9和图10介绍涉及三维模型背面纹理的gui。[0144]图8示出了本技术实施例提供的另一组gui。[0145]如图8中的(a)-(c)所示,电子设备完成三维模型重建后,可以显示界面801,界面801为模型预览界面,在界面801中可以转动生成的三维模型。当用户发现生成的三维模型侧面存在缺陷时,例如出现纹理过渡不自然等问题时,可以点击侧面纹理修复控件802。电子设备响应于检测到用户点击侧面纹理修复控件802的操作,可以对生成的模型的侧面纹理进行修复,从而显示如图8中的(d)和(e)所示的gui。[0146]如图8中的(d)和(e)所示,经过侧面纹理修复后,生成的三维模型的侧面纹理平滑且过渡自然,有着更好的真实性。[0147]应理解,侧面纹理处于正面纹理和背面纹理的交界处,因此也可以将侧面纹理称为纹理缝合线区域。[0148]还应理解,图8以用户手动选择侧面纹理修复功能为例,但是本技术实施例并不限定于此,在本技术的另一些实施例中,电子设备可以在生成三维模型时自动修复三维模型的侧面纹理,换句话说,在该一些实施例中,电子设备显示的三维模型已经是经过侧面纹理修复的三维模型,从而在该些实施例中,电子设备不会在界面801中显示侧面纹理修复控件802。[0149]本技术实施例中,可以对三维模型的侧面纹理进行修复,保证了三维模型侧面纹理的过渡自然,提高了三维模型的真实性。[0150]图9示出了本技术实施例提供的另一组gui。[0151]如图9中的(a)和(b)所示,电子设备完成三维模型重建后,可以显示界面901,界面901为模型预览界面,在界面901中可以转动生成的三维模型。由于电子设备在界面901显示的三维模型是根据单张图像生成的,该单张图像没有包括目标对象的背面纹理,因此电子设备生成的模型的背面纹理不够精准,可能与真实的背面纹理存在着较大的差别。当用户发现界面901中的三维模型的背面纹理不够真实时,可以点击背面纹理修复控件902进入背面纹理修复流程。电子设备响应于检测到用户点击背面纹理修复控件902的操作,可以显示如图9中的(c)所示的gui。[0152]如图9中的(c)所示,电子设备响应于检测到用户点击背面纹理修复控件902的操作,可以显示界面903。界面903为拍摄界面。当用户确定目标对象的背面在界面903中时,可以点击控件904用于拍摄该目标对象的背面。电子设备响应于检测到用户点击控件904的操作,可以根据拍摄的目标对象的背面对三维模型进行背面纹理修复,并显示如图9中的(d)所示的gui。[0153]可选的,在一些实施例中,界面903还可以显示提示信息“请拍摄三维模型重建的对象”。[0154]可选的,在一些实施例中,用户还可以选取电子设备存储器中的图像,电子设备以该图像进行背面纹理修复。[0155]如图9中的(d)所示,电子设备完成三维模型的背面纹理修复后,可以在界面901中更新三维模型,更新后的三维模型有着更加真实的背面纹理。[0156]图9中介绍了电子设备在基于单张图像完成三维模型重建后,可以再拍摄或者选取一张图像进行背面纹理修复,但本技术实施例并不限定于此,本技术实施例中还可以基于包括目标对象正面的图像和包括目标对象的背面的图像进行三维模型重建,从而可以得到包括真实正面纹理和真实背面纹理的三维模型。下面将结合图10进行详细的介绍。[0157]图10示出了本技术实施例提供的另一组gui。[0158]如图10中的(a)和(b)所示,电子设备可以显示界面1001,界面1001用于预览拍摄的图像。界面1001还可以包括提示信息1002,提示信息1002用于提示用户拍摄对象的正面。电子设备响应于检测到用户点击控件1003的操作,可以拍摄图像并更新提示信息1002,更新后的提示信息用于提示用户拍摄对象的背面。电子设备响应于检测到用户点击控件1003的操作,可以拍摄图像并进入三维模型重建流程。[0159]应理解,图10中的(a)和(b)中电子设备显示提示信息1002以提示拍摄对象的正面,然后在用户完成目标对象的正面拍摄后,电子设备更新提示信息1002以提示拍摄对象的背面,但本技术实施例并不限定于此。在本技术另一些实施例中,电子设备可以显示提示信息以提示拍摄对象的背面,然后在用户完成对象的背面拍摄后,电子设备更新提示信息以提示拍摄对象的正面。[0160]如图10中的(c)和(d)所示,电子设备确定进入三维模型重建流程后,可以根据拍摄的2张图像进行三维模型重建,从而可以得到包括真实正面纹理和真实背面纹理的三维模型。[0161]本技术实施中,电子设备还可以通过获取包含目标对象的背面的图像对三维模型进行背面纹理的修复,从而获得具有真实正面纹理和真实背面纹理的三维模型,提高了三维模型的真实性。[0162]上文介绍了电子设备在三维模型重建时涉及的gui,下面将详细介绍三维模型重建的过程。[0163]图11示出了本技术实施例提供的三维模型重建方法1100的示意性流程图。[0164]s1101,获取第一图像,该第一图像包括目标对象的第一正面纹理。[0165]具体的,电子设备可以获取第一图像,该第一图像包括目标对象,该目标对象为需要三维模型重建的对象,其中该第一图像包括该目标对象的第一正面纹理。目标对象可以是真实的人、雕塑等。[0166]一种可能的实现方式,电子设备可以通过拍摄获取第一图像,例如图5-图10所示的gui。[0167]一种可能的实现方式,电子设备可以从存储器中获取第一图像。例如用户a将第一图像发送给用户b,用户b保存该第一图像,然后使用该第一图像进行三维模型重建。[0168]应理解,第一图像可以是彩色图像。本技术实施例中对第一图像采取的颜色编码格式并不限定,第一图像可以是rgb图像、rgbd图像、yuv图像、hsv图像。yuv图像采用的是亮度和色度来指定像素的颜色,其中y表示明亮度、uv表示色度。hsv图像中采用的颜色参数分别为:色调(h)、饱和度(s)、明度(v)。[0169]s1102,根据该第一图像得到三维网格模型和该三维网格模型的顶点颜色。[0170]具体的,将第一图像输入到预先训练好的神经网络中,可以得到三维网格模型和该三维网格模型的顶点颜色。[0171]图12示出了根据本技术实施例的三维模型重建方法的一例示意性流程图,如图12所示,根据该第一图像得到三维网格模型和该三维网格模型的顶点颜色,包括:[0172]s1201,去除该第一图像的背景得到第二图像。[0173]一种可能的实现方式,将第一图像输入到第一神经网络模型中去除第一图像中的背景,得到第二图像,该第二图像可以包括目标对象。该第一神经网络模型可以是掩膜神经网络模型,用于对第一图像进行图像分割得到用于区分目标对象和非目标对象的掩膜。第一图像输入到该第一神经网络中,掩膜中的目标对象所在的区域设置为1,背景区域设置为0,从而可以得到去除背景且包括目标对象的第二图像,第二图像包括该目标对象的第一正面纹理。[0174]一种可能的实现方式,将第一图像输入到第二神经网络模型中进行语义分割,然后基于语义分割结果得到第二图像,该第二图像可以包括目标对象。该第二神经网络模型可以是语义分割神经网络模型,用于对第一图像进行语义分割,得到用于区分不同语义的特征语义分割图像。以目标对象为人为例,第一图像输入到该第二神经网络中,可以对不同的人体特征进行语义分割得到语义分割结果,然后基于语义分割结果可以得到去除背景且包括目标对象的第二图像,第二图像包括该目标对象的第一正面纹理。[0175]s1202,根据第二图像生成三维网格模型和确定该三维网格模型的顶点颜色。[0176]具体的,将第二图像输入到第三神经网络模型,通过第三神经网络模型可以生成人体点云,然后根据人体点云生成三维网格模型,其中第三神经网络根据第二图像生成三维网格模型时采用的投影方法是平行投影方法,从而该三维网格模型可以与第一正面纹理匹配,即第一正面纹理可以直接覆盖在该三维网格模型上。将第二图像输入到第四神经网络模型,通过第四神经网络模型可以确定三维网格模型的顶点颜色。生成的三维网格模型包括顶点以及连接顶点形成的面片。根据顶点数量的不同,形成的面片的形状也不相同。例如,由三个顶点形成的面片可以称为三角形面片。本技术实施例中以面片为三角形面片为例,但是并不限定于此。[0177]示例性的,第三神经网络模型可以是pifu网络,第四神经网络模型可以是tex-pifu网络,在根据人体点云生成三维网格模型时可以采用匹配立方体(marchingcube)算法或其他匹配算法。[0178]s1103,根据该三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,该第一三维模型包括第二正面纹理。[0179]图13示出了根据本技术实施例的三维模型重建方法的一例示意性流程图,如图13所示,根据该三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,包括:[0180]s1301,根据该三维网格模型的顶点的空间坐标确定该三维网格模型的顶点的纹理坐标[0181]具体的,根据在s1102中得到的三维网格模型确定该三维网格模型中顶点的空间坐标,然后根据该三维网格模型的顶点的空间坐标确定该三维网格模型的顶点的纹理坐标。纹理坐标也可以称为uv坐标。由于三维网格模型中存在相对的正面顶点和背面顶点,因此在定义顶点的纹理坐标时需要判断进行区分。例如,该三维网格模型中包括第一顶点和第二顶点,其中第一顶点是正面顶点,第二顶点是背面顶点,第一顶点的空间坐标为(x1,y1,z1),第二顶点的空间坐标为(x2,y2,z2),则第一顶点的纹理坐标可以是(x1*0.5,y1),第二顶点的纹理坐标可以是(x2*0.5+0.5,y2)。[0182]s1302,确定纹理图的尺寸。[0183]具体的,纹理图的尺寸包括宽度(width)和高度(high),可以预定义纹理图的尺寸以便在s1303中确定三维网格模型的顶点在纹理图中的坐标。[0184]应理解,s1302中的纹理图不包含纹理信息,即可以理解为该纹理图没有颜色信息。[0185]还应理解,s1301和s1301之间并没有实际的先后顺序,本技术实施例对此不作限定。[0186]s1303,根据该三维网格模型的顶点的纹理坐标和纹理图的尺寸确定该三维网格模型的顶点在该纹理图中的坐标。[0187]具体的,在确定顶点的纹理坐标和纹理图的尺寸后,可以根据预设的计算公式确定顶点在纹理图中的坐标。[0188]示例性的,假设第一顶点的纹理坐标为(u1,v1),预设的计算公式为顶点在纹理图中的横坐标为u*w,顶点在纹理图中的纵坐标为h-h*v,则第一顶点在纹理图中的坐标为(u1*w,h1-h1*v)。[0189]s1304,网格化该纹理图。[0190]具体的,可以按照一定的步长将纹理图划分成多个网格。例如,以步长为0.5划分网格,则宽度为2048,高度为1024的纹理图可以划分为4096*2048个网格。[0191]s1305,确定该纹理图中每一个网格点对应的面片。[0192]具体的,根据纹理图中的网格点与三维网格模型的面片在纹理图中的顶点的距离关系,确定每一个网格点对应的面片。[0193]一种可能的实现方式,确定与网格点距离最近的面片为该网格点对应的面片。网格点与面片的距离可以理解为网格点与面片的顶点之间的距离。例如,网格点#1的坐标为(x1,y1),面片#1的三个顶点在纹理图的坐标分别为(x21,y21)、(x22,y22)、(x23,y23),面片#2的三个顶点在纹理图的坐标为(x31,y31)、(x32,y32)、(x33,y33)。网格点#1与面片#1之间的距离可以以网格点#1和面片#1的三个顶点之间的距离表示,则网格点#1和面片#1的距离为类似的,网格点#1与面片#2之间的距离为当网格点#1到面片#1的三个顶点的距离小于网格点#1到面片#2的三个顶点的距离,则可以认为相对于面片#2而言,网格点#1与面片#1更近。[0194]s1306,根据该每一个网格点对应的面片确定该每一个网格点的颜色。[0195]具体的,确定每一个网格点对应的面片后,可以根据每一个网格点对应的面片的顶点的颜色确定网格点的颜色。[0196]一种可能的实现方式,网格点的颜色可以是网格点对应的面片的顶点颜色的叠加。[0197]例如,网格点对应的面片包括3个顶点,该3个顶点的颜色通道分别为[20,30,40]、[35,45,55]、[80,70,60]。网格点的颜色可以为颜色通道为[135,145,155]对应的颜色。进一步的,当颜色通道中的任意一个通道的值叠加后大于255时,可以将该通道的值设置为255。[0198]一种可能的实现方式,网格点的颜色可以是网格点对应的面片的顶点颜色的平均颜色。[0199]平均颜色可以理解为将多个不同颜色通道的颜色叠加后取平均值得到的颜色。例如,例如,该网格点对应的面片包括3个顶点,该3个顶点的颜色通道分别为[20,30,40]、[30,40,50]、[10,20,30]。该三个顶点叠加后得到的颜色通道为[60,90,120],则网格点的颜色可以为颜色通道为[20,30,40]对应的颜色。[0200]一种可能的实现方式,网格点的颜色可以是根据网格点对应的面片的顶点颜色和该面片的重心坐标得到的颜色。[0201]例如,以面片为三角形面片为例,其包括3个顶点,分别为顶点#1,坐标为(x2,y2),顶点#2,坐标为(x3,y3),顶点#3,坐标为(x4,y4),则该面片的重心坐标可以通过下式表示:[0202](x5,y5)=(1-m-n)*(x2,y2)+m*(x3,y3)+n*(x4,y4)[0203]其中(x5,y5)为该面片的重心坐标,(1-m-n)为顶点#1的系数,m为顶点#2的系数,n为顶点#3的系数。[0204]该面片对应的网格点的颜色可以通过上述系数和顶点#1、顶点#2、顶点#3的颜色加权得到。例如,m=0.4,n=0.3,且顶点#1的颜色通道为[20,30,40],顶点#2的颜色通道为[30,40,50],顶点#3的颜色通道为[80,70,60],则该面片对应的网格点的颜色可以为颜色通道为[42,46,50]对应的颜色。[0205]s1307,根据该每一个网格点的颜色确定该纹理图的颜色。[0206]具体的,确定纹理图中每一个网格点的颜色后,可以根据每个网格点的颜色插值算法得到每一个网格的颜色,从而可以得到纹理图,纹理图可以包括第二正面纹理图、第一侧面纹理和第一背面纹理。[0207]s1308,根据该纹理图和该三维网格模型生成第一三维模型。[0208]具体的,确定纹理图的颜色后,可以将该纹理图覆盖在三维网格模型上以生成第一三维模型。该第一三维网格模型包括第二正面纹理、第一背面纹理、第一侧面纹理。[0209]可选的,本技术实施例中还可以通过图像修复(inpainting)算法对第二正面纹理图进行修复。[0210]s1104,将该第二正面纹理与该第一正面纹理进行融合处理以得到第二三维模型。[0211]具体的,由于生成的三维网格模型是对目标对象采用平行投影法重建得到的,因此第二正面纹理覆盖的区域的纹理坐标第一正面纹理的纹理坐标对应,从而可以使用第一正面纹理与第二正面纹理融合处理得到第二三维模型,使得该第二三维模型有着真实的纹理效果。[0212]可以理解的是,第二三维模型还包括第一背面纹理和第一侧面纹理。[0213]一种可能的实现方式,可以使用第一正面纹理整体替换第二正面纹理。[0214]一种可能的实现方式,可以根据第一正面纹理和第二正面纹理在不同区域的颜色差值,当存在颜色差值超过阈值的网格时,使用第一正面纹理替换该网格中的纹理。例如,第一正面纹理和第二正面纹理都被划分为100个网格,且该100个网格在第一正面纹理和第二正面纹理中是一一对应的,其中该100个网格中有5个网格的颜色差值超过阈值,则可以只使用第一正面纹理替换该5个网格中的纹理。[0215]本技术实施中,电子设备可以使用包含目标对象的图像对目标对象进行三维模型重建,并利用目标对象的真实纹理修复重建的三维模型,从而可以得到包含真实纹理的三维模型。[0216]上述实施例中,可以通过一张图像得到包含真实纹理的三维模型,但是在根据第一图像得到包含目标对象的第二图像时,由于语义识别的误差或掩膜无法完全对齐目标对象,可能造成目标对象的边缘存在不属于目标对象的颜色,进而生成的三维模型可能存在侧面纹理过渡不自然、存在杂色等问题,如图7中的(a)和(b)所示。因此需要对生成的第二三维模型的侧面纹理进行修复。[0217]可选的,在一些实施例中,如图14示出了根据本技术实施例的三维模型重建方法的一例示意性流程图,三维模型重建方法1000还包括:[0218]s1105,对该第二三维模型的纹理图进行腐蚀和膨胀处理以得到第二侧面纹理,将该第二侧面纹理与第一侧面纹理进行融合处理以得到第三三维模型。[0219]具体的,可以对第二三维模型的纹理图进行腐蚀(erosion)处理以消除不属于目标对象的颜色。腐蚀处理可以理解为是对第二三维模型的纹理图的去噪声处理。消除第二三维模型的纹理图中不属于目标对象的颜色后可以对第二三维模型的纹理图进行膨胀(dilation)处理以得到第二侧面纹理。膨胀处理可以理解为腐蚀处理的逆操作,通过膨胀处理可以使经过腐蚀处理的图像保持原有的形状。得到第二侧面纹理后,将该第二侧面纹理与第二三维模型的第一侧面纹理进行融合处理以得到第三三维模型。[0220]示例性的,可以通过erode函数对第二三维模型的纹理图进行腐蚀处理,通过dilate函数对第二三维模型的纹理图进行膨胀处理。[0221]应理解,针对第二侧面纹理与第一侧面纹理进行融合处理的描述类似于第一正面纹理与第二正面纹理进行融合处理的描述,为了简洁,在此不再赘述。[0222]本技术实施例中,可以对三维模型的侧面纹理进行修复,保证了三维模型侧面纹理的过渡自然,提高了三维模型的真实性。[0223]由于在s1101-s1104中的第二三维模型是根据第一图像生成的,而该第一图像中未包括目标对象的背面纹理,因此第二三维模型中的第一背面纹理是通过预先训练好的神经算法预测的,可能存在背面纹理与真实背面纹理差别大的问题。因此,需要对生成的第二三维模型的背面纹理进行修复。[0224]可选的,在一些实施例中,如图15示出了根据本技术实施例的三维模型重建方法的一例示意性流程图,三维模型重建方法1000还包括:[0225]s1106,获取第三图像,该第三图像包括目标对象的第二背面纹理。[0226]具体的,可以获取包含目标对象的第二背面纹理的第三图像,其中该第二背面纹理为目标对象的真实纹理。[0227]一种可能的实现方式,电子设备可以通过拍摄获取第三图像,例如图9和图10所示的gui。[0228]一种可能的实现方式,电子设备可以从存储器中获取第三图像。[0229]s1107,去除第三图像的背景得到第四图像,该第四图像包括该第二背面纹理。[0230]一种可能的实现方式,将第三图像输入到第一神经网络模型中去除第三图像中的背景,得到第四图像,该第四图像可以包括目标对象。该第一神经网络模型可以是掩膜神经网络模型,用于对第三图像进行图像分割得到用于区分目标对象和非目标对象的掩膜。第三图像输入到该第一神经网络中,掩膜中的目标对象所在的区域设置为1,背景区域设置为0,从而可以得到去除背景且包括目标对象的第四图像,即第四图像可以理解为该目标对象的第二背面纹理。[0231]一种可能的实现方式,将第三图像输入到第二神经网络模型中进行语义分割,然后基于语义分割结果得到第四图像,该第四图像可以包括目标对象。该第二神经网络模型可以是语义分割神经网络模型,用于对第三图像进行语义分割,得到用于区分不同语义的特征语义分割图像。以目标对象为人为例,第三图像输入到该第二神经网络中,可以对不同的人体特征进行语义分割得到语义分割结果,然后基于语义分割结果可以得到去除背景且包括目标对象的第四图像,即第四图像可以理解为该目标对象的第二背面纹理。[0232]s1108,利用该第二背面纹理匹配该第二三维模型。[0233]具体的,本技术实施例中的第二三维模型是根据第一图像生成的,获取的第三图像包括的第二背面纹理可能与第二三维模型无法对齐,因此需要调整该第二背面纹理,以使调整后的该第二背面纹理与第二三维模型的第一背面纹理对齐,并根据第一背面纹理的纹理坐标确定第二背面纹理的坐标,从而使得调整后的第二背面纹理可以覆盖在该第二三维模型上。[0234]一种可能的实现方式,可以利用掩码技术使第二背面纹理和该第二三维模型的背面对齐。[0235]s1109,将该第二背面纹理与该第一背面纹理进行融合处理以得到第四三维模型。[0236]具体的,将第二背面纹理与第二三维模型匹配后,可以将第二背面纹理与第二三维模型的第一背面纹理进行融合处理得到第四三维模型,使得该第四三维模型有着真实的背面纹理效果。[0237]一种可能的实现方式,可以使用第二背面纹理整体替换第一背面纹理。[0238]一种可能的实现方式,可以根据第一背面纹理和第二被面纹理在不同区域的颜色差值,当存在颜色差值超过阈值的网格时,使用第二背面纹理替换该网格中的纹理。例如,第一背面纹理和第二背面纹理都被划分为100个网格,且该100个网格在第一背面纹理和第二背面纹理中是一一对应的,其中该100个网格中有5个网格的颜色差值超过阈值,则可以只使用第二背面纹理替换该5个网格中的纹理。[0239]本技术实施中,电子设备还可以通过获取包含目标对象的背面的图像对三维模型进行背面纹理的修复,从而获得具有真实正面纹理和真实背面纹理的三维模型,提高了三维模型的真实性。[0240]应理解,上述实施例中以包含目标对象正面的图像作为输入图像进行三维模型重建以得到三维模型,并在一些实施例中还可以获取并利用包含目标对象背面的图像修复三维模型为例,但是本技术并不限定于此,例如在本技术的另一些实施例中,可以将包含目标对象背面的图像作为输入图像进行三维模型重建以得到三维模型,可以理解的是,在该另一些实施例中,得到的三维模型具有真实的背面纹理和预测的正面纹理。进一步的,在该另一些实施例中,可以获取并利用包含目标对象正面的图像修复三维模型以得到包含真实正面纹理的三维模型。[0241]需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本技术实施例提供的三维模型重建的装置,用于执行上述三维模型重建的方法,因此可以达到与上述三维模型重建的方法相同的效果。[0242]本技术实施例还提供了一种电子设备,包括:处理器、存储器、应用程序以及计算机程序。上述各器件可以通过一个或多个通信总线连接。其中,该一个或多个计算机程序被存储在上述存储器中并被配置为被该一个或多个处理器执行,该一个或多个计算机程序包括指令,上述指令可以用于使电子设备执行上述各实施例中三维模型重建的方法的各个步骤。[0243]示例性地,上述处理器具体可以为图1所示的处理器110,上述存储器具体可以为图1所示的内部存储器120和/或与电子设备连接的外部存储器。[0244]本技术实施例还提供一种芯片,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如前文中任一种可能的实现方式中所述的三维模型重建的方法被执行。[0245]本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的三维模型重建的方法。[0246]本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的三维模型重建的方法。[0247]另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的三维模型重建的方法。[0248]本技术实施例还提供三维模型重建的处理系统,该系统包括上述实施例提供的任意一种三维模型重建的装置。[0249]以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。[0250]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。[0251]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0252]在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0253]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0254]另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0255]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0256]以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
技术特征:
1.一种三维模型重建的方法,其特征在于,包括:获取第一图像,所述第一图像包括目标对象的第一正面纹理;根据所述第一图像得到三维网格模型和所述三维网格模型的顶点颜色;根据所述三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,所述第一三维模型包括第二正面纹理;将所述第二正面纹理与所述第一正面纹理进行融合处理以得到第二三维模型。2.根据权利要求1所述的方法,其特征在于,所述第一三维模型还包括第一侧面纹理,所述方法还包括:对所述第二三维模型的纹理进行腐蚀和膨胀处理以得到第二侧面纹理;将所述第二侧面纹理与所述第一侧面纹理进行融合处理以得到第三三维模型。3.根据权利要求1或2所述的方法,其特征在于,所述第一三维模型还包括第一背面纹理,所述方法还包括:获取第三图像,所述第三图像包括所述目标对象的第二背面纹理;去除所述第三图像的背景得到第四图像,所述第四图像包括所述第二背面纹理;利用所述第二背面纹理匹配所述第二三维模型;将所述第二背面纹理与所述第一背面纹理进行融合处理以得到第四三维模型。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一图像得到三维网格模型和所述三维网格模型的顶点颜色,包括:去除所述第一图像的背景得到第二图像;根据所述第二图像生成所述三维网格模型和确定所述三维网格模型的顶点颜色。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,包括:根据所述三维网格模型的顶点的空间坐标确定所述三维网格模型的顶点的纹理坐标;确定纹理图的尺寸;根据所述三维网格模型的顶点的纹理坐标和所述纹理图的尺寸确定所述三维网格模型的顶点在所述纹理图中的坐标;网格化所述纹理图;确定所述纹理图中每一个网格点对应的面片;根据所述每一个网格点对应的面片确定所述每一个网格点的颜色;根据所述每一个网格点的颜色确定所述纹理图的颜色;根据所述纹理图和所述三维网格模型生成所述第一三维模型。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述目标对象为人体或人体雕塑。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一图像为即时拍摄得到的,或从存储的图片中选取的。8.根据权利要求3所述的方法,其特征在于,所述第三图像为即时拍摄得到的,或从存储的图片中选取的。9.一种电子设备,其特征在于,包括一个或多个处理器;一个或多个存储器;一个或多个摄像头;所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机
程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:获取第一图像,所述第一图像包括目标对象的第一正面纹理;根据所述第一图像得到三维网格模型和所述三维网格模型的顶点颜色;根据所述三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,所述第一三维模型包括第二正面纹理;将所述第二正面纹理与所述第一正面纹理进行融合处理以得到第二三维模型。10.根据权利要求9所述的电子设备,其特征在于,所述第一三维模型还包括第一侧面纹理,所述电子设备还执行以下步骤:对所述第二三维模型的纹理进行腐蚀和膨胀处理以得到第二侧面纹理;将所述第二侧面纹理与所述第一侧面纹理进行融合处理以得到第三三维模型。11.根据权利要求9所述的电子设备,其特征在于,所述第一三维模型还包括第一背面纹理,所述电子设备还执行以下步骤:获取第三图像,所述第三图像包括所述目标对象的第二背面纹理;去除所述第三图像的背景得到第四图像,所述第四图像包括所述第二背面纹理;利用所述第二背面纹理匹配所述第二三维模型;将所述第二背面纹理与所述第一背面纹理进行融合处理以得到第四三维模型。12.根据权利要求9至11中任一项所述的电子设备,其特征在于,所述电子设备具体用于执行以下步骤:去除所述第一图像的背景得到第二图像;根据所述第二图像生成所述三维网格模型和确定所述三维网格模型的顶点颜色。13.根据权利要求9至12中任一项所述的电子设备,其特征在于,所述电子设备具体用于执行以下步骤:根据所述三维网格模型的顶点的空间坐标确定所述三维网格模型的顶点的纹理坐标;确定纹理图的尺寸;根据所述三维网格模型的顶点的纹理坐标和所述纹理图的尺寸确定所述三维网格模型的顶点在所述纹理图中的坐标;网格化所述纹理图;确定所述纹理图中每一个网格点对应的面片;根据所述每一个网格点对应的面片确定所述每一个网格点的颜色;根据所述每一个网格点的颜色确定所述纹理图的颜色;根据所述纹理图和所述三维网格模型生成所述第一三维模型。14.根据权利要求9至13中任一项所述的电子设备,其特征在于,所述目标对象为人体或人体雕塑。15.根据权利要求9至14中任一项所述的电子设备,其特征在于,所述电子设备具体用于执行以下步骤:通过所述一个或多个摄像头即时拍摄得到所述第一图像,或从所述一个或多个存储器中选取所述第一图像。16.根据权利要求11所述的电子设备,其特征在于,所述电子设备具体用于执行以下步
骤:通过所述一个或多个摄像头即时拍摄得到所述第三图像,或从所述一个或多个存储器中选取所述第三图像。17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法。18.一种芯片,其特征在于,所述芯片包括处理器和通信接口,所述通信接口用于接收信号,并将所述信号传输至所述处理器,所述处理器处理所述信号,使得如权利要求1至8中任一项所述的方法被执行。

技术总结
本申请提供了一种三维模型重建的方法以及装置,该方法包括:获取第一图像,所述第一图像包括目标对象的第一正面纹理;根据所述第一图像得到三维网格模型和所述三维网格模型的顶点颜色;根据所述三维网格模型的顶点颜色进行纹理重建以得到第一三维模型,所述第一三维模型包括第二正面纹理;将所述第二正面纹理与所述第一正面纹理进行融合处理以得到第二三维模型。通过该方法可以使用包含目标对象的图像对目标对象进行三维模型重建,并利用目标对象的真实纹理修复重建的三维模型,从而可以得到包含真实纹理的三维模型,提高了三维模型的真实性。真实性。真实性。


技术研发人员:巴合提亚尔
受保护的技术使用者:华为技术有限公司
技术研发日:2022.03.11
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐