1.本技术涉及终端技术领域,尤其涉及一种三维重建方法和装置。
背景技术:
2.随着互联网的普及和发展,人们对于终端设备的功能需求也越发多样化,例如用户可以利用终端设备中的导航功能指示方向。而随着技术的不断发展,增强现实(augmented reality,ar)导航也以其实景导航的优势,为用户提供可视化的路线导航。例如,在ar导航功能中,可以利用终端设备中的摄像头拍摄得到的图像帧序列,并利用运动恢复结构(structure from motion,sfm)方法,得到图像帧序列对应的三维点云,使得终端设备可以基于三维点云进行路径规划,并为用户提供导航路线。
3.然而,在用户使用导航的过程中,可能存在定位不准确的问题,使得导航所指示的路线的准确性较低。
技术实现要素:
4.本技术实施例提供一种三维重建方法和装置,云端设备可以获取终端设备拍摄得到的图像帧序列中的图像的语义信息,对该图像帧序列中的图像进行三维重建得到三维点云,通过语义信息对该三维点云进行语义一致性集束调整,得到优化三维点云,进而提高通过三维点云得到指示导航路线的准确度。
5.第一方面,本技术实施例提供一种三维重建方法,方法包括:第二设备接收来自第一设备的图像序列;图像序列中包括多张图像;第二设备获取图像序列中的各图像中的二维特征点的语义信息;语义信息用于描述图像中的对象;第二设备对图像序列进行三维重建,得到第一三维点云;第二设备基于第一二维特征点的语义信息、以及第二二维特征点的语义信息,调整第一三维点云,得到第二三维点云;其中,第一二维特征点为三维重建得到第一三维点云时对应的图像序列中的图像的二维特征点;第二二维特征点为第一三维点云投影到图像序列中的图像中时对应的二维特征点;第二设备向第一设备发送第二三维点云。
6.这样,第二设备可以获取第一设备拍摄得到的图像帧序列中的图像的语义信息,对该图像帧序列中的图像进行三维重建得到三维点云,通过语义信息对该三维点云进行语义一致性集束调整,得到优化三维点云,进而提高通过三维点云得到指示导航路线的准确度。其中,第一设备可以为本技术实施例中的终端设备,第二设备可以为本技术实施例中的云端设备。
7.在一种可能的实现方式中,第二设备基于第一二维特征点的语义信息、以及第二二维特征点的语义信息,调整第一三维点云,包括:在第一二维特征点的语义信息与第二二维特征点的语义信息不一致时,第二设备基于第一二维特征点的语义信息,调整第一三维点云。这样,第二设备可以通过语义信息对三维点云进行优化,进而得到更为准确的三维点云。
8.在一种可能的实现方式中,在第一二维特征点的语义信息与第二二维特征点的语义信息不一致时,第二设备基于第一二维特征点的语义信息,调整第一三维点云,包括:第二设备将第一二维特征点的语义信息与第二二维特征点的语义信息代入到预设函数中,调整第一三维点云;预设函数满足下述公式:其中,n为图像序列中的图像的数量;m为图像序列中的图像的二维特征点对应的三维点的数量;为第一二维特征点;为三维点;用于指示三维点投影到第二二维特征点时的投影矩阵;与相机的内参,以及相机的位姿相关;l用于指示语义信息;为第一二维特征点的语义信息;为第二二维特征点的语义信息。这样,第二设备可以基于语义一致性集束调整,通过预设函数调整三维点云,进而得到更为准确的三维点云。
9.在一种可能的实现方式中,第二设备对图像序列进行三维重建之前,方法还包括:第二设备基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域,得到处理后的图像序列;低纹理区域为纹理数值小于预设阈值的区域;纹理数值用于指示图像中的局部纹理特征;第二设备对图像序列进行三维重建,包括:第二设备对处理后的图像序列进行三维重建。这样,第二设备可以避免低纹理区域对于后续三维重建的影响。
10.在一种可能的实现方式中,第二设备基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域,得到处理后的图像序列,包括:第二设备基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域以及运动区域,得到处理后的图像序列;运动区域用于指示包含运动的对象的区域。这样,第二设备可以避免低纹理区域以及运动区域对于后续三维重建的影响,进而提高三维点云的重建精度。
11.在一种可能的实现方式中,第二设备获取图像序列中的各图像中的二维特征点的语义信息之前,方法还包括:第二设备从图像序列中获取目标序列;目标序列为第二设备基于预设时间间隔从图像序列中获取的,或者,目标序列为第二设备基于图像序列中两帧图像之间的重叠区域大于区域阈值时对应的图像构成的;第二设备获取图像序列中的各图像中的二维特征点的语义信息,包括:第二设备获取目标序列中各图像中的二维特征点的语义信息。这样,第二设备可以基于目标序列的提取减少算法的内存占用,提高算法的运行速度。
12.在一种可能的实现方式中,第二设备对图像序列进行三维重建,得到第一三维点云,包括:第二设备获取图像序列中的图像对之间的二维特征点的匹配关系;第二设备基于图像序列中的图像对之间的二维特征点的匹配关系,得到相机的位姿;第二设备利用相机的位姿、相机的内参以及图像对之间的二维特征点的匹配关系,得到第一三维点云。这样,第二设备可以基于图像对之间的匹配关系以及位姿得到图像对所对应的三维点云。
13.在一种可能的实现方式中,图像序列中的图像对的选取与下述一种或多种相关:图像对所对应的基线的长度、图像对之间的二维特征点的匹配对数、图像对所对应的内点占比情况、和/或图像对中的各图像的二维特征点的分布均匀情况。这样,第二设备可以通
过选取合适的图像对,得到更为准确的位姿以及三维点云。
14.第二方面,本技术实施例提供一种三维重建装置,装置包括通信单元和处理单元:通信单元,用于接收来自第一设备的图像序列;图像序列中包括多张图像;处理单元,用于获取图像序列中的各图像中的二维特征点的语义信息;语义信息用于描述图像中的对象;处理单元,还用于对图像序列进行三维重建,得到第一三维点云;处理单元,还用于基于第一二维特征点的语义信息、以及第二二维特征点的语义信息,调整第一三维点云,得到第二三维点云;其中,第一二维特征点为三维重建得到第一三维点云时对应的图像序列中的图像的二维特征点;第二二维特征点为第一三维点云投影到图像序列中的图像中时对应的二维特征点;通信单元,还用于向第一设备发送第二三维点云。
15.在一种可能的实现方式中,处理单元,具体用于:在第一二维特征点的语义信息与第二二维特征点的语义信息不一致时,基于第一二维特征点的语义信息,调整第一三维点云。
16.在一种可能的实现方式中,处理单元,具体用于:将第一二维特征点的语义信息与第二二维特征点的语义信息代入到预设函数中,调整第一三维点云;预设函数满足下述公式:其中,n为图像序列中的图像的数量;m为图像序列中的图像的二维特征点对应的三维点的数量;为第一二维特征点;为三维点;用于指示三维点投影到第二二维特征点时的投影矩阵;与相机的内参,以及相机的位姿相关;l用于指示语义信息;为第一二维特征点的语义信息;为第二二维特征点的语义信息。
17.在一种可能的实现方式中,处理单元,还用于:基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域,得到处理后的图像序列;低纹理区域为纹理数值小于预设阈值的区域;纹理数值用于指示图像中的局部纹理特征;对处理后的图像序列进行三维重建。
18.在一种可能的实现方式中,处理单元,具体用于:基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域以及运动区域,得到处理后的图像序列;运动区域用于指示包含运动的对象的区域。
19.在一种可能的实现方式中,处理单元,还用于:从图像序列中获取目标序列;目标序列为第二设备基于预设时间间隔从图像序列中获取的,或者,目标序列为第二设备基于图像序列中两帧图像之间的重叠区域大于区域阈值时对应的图像构成的;获取目标序列中各图像中的二维特征点的语义信息。
20.在一种可能的实现方式中,处理单元,具体用于:获取图像序列中的图像对之间的二维特征点的匹配关系;基于图像序列中的图像对之间的二维特征点的匹配关系,得到相机的位姿;利用相机的位姿、相机的内参以及图像对之间的二维特征点的匹配关系,得到第一三维点云。
21.在一种可能的实现方式中,图像序列中的图像对的选取与下述一种或多种相关:
图像对所对应的基线的长度、图像对之间的二维特征点的匹配对数、图像对所对应的内点占比情况、和/或图像对中的各图像的二维特征点的分布均匀情况。
22.第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得电子设备以执行如第一方面或第一方面的任一种实现方式中描述的三维重建方法。
23.第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的三维重建方法。
24.第五方面,一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的三维重建方法。
25.应当理解的是,本技术的第二方面至第五方面与本技术的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
26.图1为本技术实施例提供的一种场景示意图;图2为本技术实施例提供的一种终端设备的硬件结构示意图;图3为本技术实施例提供的一种三维重建方法的流程示意图;图4为本技术实施例提供的另一种导航界面示意图;图5为本技术实施例提供的一种sfm处理的流程示意图;图6为本技术实施例提供的一种对极几何估计的原理示意图;图7为本技术实施例提供的另一种对极几何估计的原理示意图;图8为本技术实施例提供的一种三维重建装置的结构示意图;图9为本技术实施例提供的一种控制设备的硬件结构示意图;图10为本技术实施例提供的一种芯片的结构示意图。
具体实施方式
27.下面对本技术实施例中所描述的词汇进行说明。可以理解,该说明是为更加清楚的解释本技术实施例,并不必然构成对本技术实施例的限定。
28.特征点:可以用于反映图像的特征。例如,特征点可以为图像中具有鲜明特性、能够有效反映图像本质特征、或能够标识图像中目标物体的点,例如该特征点可以为角点、边缘点、较暗区域中的亮点、以及较亮区域中的暗点等。
29.语义信息:图像的语义可以分为视觉层、对象层以及概念层。其中,该视觉层可以为底层特征语义,例如颜色、纹理、和形状等;该对象层可以为中间层,包含属性特征,如某一对象在某一时刻的状态;该概念层可以为高层,可以理解为最接近用户理解的描述。本技术实施例中,该语义信息可以用于指示图像中包含的对象的属性。
30.相机(camera,或者也可以称为摄像头):可以将物体通过镜头生成的光学图像投射到图像传感器表面上,然后转为电信号,经过数模转换后变为数字图像信号,数字图像信号可以在数字信号处理(digital signal processing,dsp)芯片中加工处理。本技术实施例中,该相机可以为单目相机。
31.三维点云:可以为表示一个三维坐标系统中的一组向量的集合。这些向量通常以三维坐标(x维度,y维度和z维度)的形式表示,点云数据主要用来表示目标物体的外表面特性,点云数据中的每一个点中都包含有三维坐标。
32.神经网络模型:可以为模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络模型需要利用大量样本进行训练,训练好模型后,就可以利用该神经网络模型进行预测。
33.三维重建(3d reconstruction):可以为根据单视图或者多视图的图像数据重建三维信息的过程,三维重建技术可以把真实场景或物体刻画成适合计算机表示和处理的数学模型,以便在计算机环境下对其进行处理、操作和分析。本技术实施例中,可以通过sfm方法进行三维重建。
34.sfm:可以为基于收集到的无序图片进行三维重建的算法。本技术实施例中,该sfm可以为从不同时间拍摄得到的图像帧序列中恢复物体的三维结构的方法。其中,经过sfm方法构建出的反应环境几何边界信息的三维结构,该三维结构可以用于描述导航地图环境的物理轮廓。
35.角度-n-点(perspective-n-point ,pnp):是指在给定一组n个3d点及其在图像中相应的2d投影的情况下,估计相机位姿的问题。例如,在已知的n个三维空间点坐标(如相对于某个指定的坐标系a)及其二维投影位置的情况下,估计相机的位姿(如相机在坐标系a下的位姿)。其中,该相机的位姿可以包括相机方向、以及相机光心位置。
36.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
37.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
38.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
39.示例性的,图1为本技术实施例提供的一种导航界面示意图。在图1对应的实施例中,以终端设备为手机为例进行示例说明,该示例并不构成对本技术实施例的限定。
40.当用户需要从当前位置走到饭店所在的位置时,用户可以利用手机中的导航功能,例如ar导航指示行走路线。例如,当手机接收到用户打开ar导航功能,并利用该ar导航指示由当前位置到饭店103的路线时,手机可以显示如图1所示的界面。如图1所示,该界面中可以包括用于指示用户当前位置的标识如用户101、光滑的地面106、光滑的地面106中用
于指示导航路线的多个箭头、超市102、饭店103、用于指示当前处于ar导航界面的标识105、以及用于文字指示导航路线的提示信息104,该提示信息104可以显示为直行100米后右转。可能的实现方式中,该界面中还可以包括正在行走的其他人,例如用户107以及用户108等。
41.可能的实现方式中,在用户利用ar导航指示路线的过程中,手机可以获取基于摄像头采集到的图像帧序列,并通过对该图像帧序列中的图像的特征提取以及特征匹配等步骤,构建该图像帧序列对应的地图的三维点云,进而使得ar导航可以基于三维点云更准确的识别当前环境中的对象,进而得到准确的导航路线。
42.然而,当拍摄处于弱纹理场景中的图像帧序列,例如拍摄场景中包括光滑的地板、洁白的墙面等弱纹理区域时,则手机可能由于无法准确的提取出弱纹理区域中的特征,进而无法基于弱纹理区域中的特征,构建准确的三维点云;或者,当拍摄处于运动场景中的图像帧序列,例如拍摄场景中包括行走的人、或运动的车等时,则由于运动对象对于特征提取的影响,使得手机也无法基于运动区域中的描述,构建准确的三维点云。
43.有鉴于此,本技术实施例提供一种三维重建方法,使得云端设备可以获取终端设备拍摄得到的图像帧序列中的图像的语义信息,对图像帧序列中的图像进行三维重建得到三维点云,通过语义信息对该三维点云进行语义一致性集束调整,得到优化后的三维点云,进而提高通过三维点云得到指示导航路线的准确度。
44.可以理解的是,本技术实施例提供的一种三维重建方法的应用场景不限于图1对应的实施例,还可以应用于商场室内导航场景、机场室内导航场景、展览馆室内导航场景、医院导航场景、以及停车场导航场景等。
45.可能的实现方式中,本技术实施例提供的一种三维重建方法还可以应用于大规模视觉定位技术场景,例如自动驾驶、或无人机等场景中。该应用场景可以根据实际情况包括其他内容,本技术实施例中对此不做限定。
46.可以理解的是,上述终端设备也可以称为终端,(terminal)、用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)等。终端设备可以为拥有触摸屏的手机(mobile phone)、智能电视、穿戴式设备、平板电脑(pad)、带无线收发功能的电脑、虚拟现实(virtual reality,vr)终端设备、增强现实(augmented reality,ar)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本技术的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
47.因此,为了能够更好地理解本技术实施例,下面对本技术实施例的终端设备的结构进行介绍。示例性的,图2为本技术实施例提供的一种终端设备的结构示意图。
48.终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度
传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
49.可以理解的是,本技术实施例示意的结构并不构成对终端设备的具体限定。在本技术另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
50.处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。
51.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
52.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
53.终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
54.天线1和天线2用于发射和接收电磁波信号。终端设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
55.移动通信模块150可以提供应用在终端设备上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
56.无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocal area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm)等无线通信的解决方案。
57.终端设备通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。
58.显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,终端设备可以包括1个或n个显示屏194,n为大于1的正整数。本技术实施例中,显示屏194用于显示终端设备基于环境图像的位姿的计算得到的导航路线。
59.终端设备可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
60.摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或n个摄像头193,n为大于1的正整数。本技术实施例中,摄像头193可以用于在用户使用ar导航等功能的过程中采集环境图像,例如摄像头193可以周期性的采集环境图像,或者摄像头193可以在检测到环境变化时采集环境图像,或者摄像头193可以在检测到用户指示的拍照指示时采集环境图像。
61.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传
递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
62.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
63.内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
64.终端设备可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
65.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170a收听音乐,或收听免提通话。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。耳机接口170d用于连接有线耳机。麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。本技术实施例中,终端设备可以拥有设置一个麦克风170c。
66.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。陀螺仪传感器180b可以用于确定终端设备的运动姿态。气压传感器180c用于测量气压。磁传感器180d包括霍尔传感器。加速度传感器180e可检测终端设备在各个方向上(一般为三轴)加速度的大小。距离传感器180f,用于测量距离。接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。环境光传感器180l用于感知环境光亮度。指纹传感器180h用于采集指纹。温度传感器180j用于检测温度。触摸传感器180k,也称“触控器件”。骨传导传感器180m可以获取振动信号。
67.触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,或称“触控屏”。其中,该触摸屏内可以设置有电容感测节点网格,当终端设备确定该电容传感器接收到的至少一个网格中的电容的数值超出电容阈值时,则可以确定发生触摸操作;进一步的,终端设备可以基于超出电容阈值的至少一个网格所占的区域,确定触摸操作对应的触摸区域。
68.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
69.终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
70.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
71.示例性的,图3为本技术实施例提供的一种三维重建方法的流程示意图。如图3所
示,三维重建方法可以包括如下步骤:本技术实施例中提供的三维重建方法中可以涉及终端设备以及云端设备。其中,云端设备可以为用于对终端设备上传的图像帧序列中的图像进行特征提取、特征匹配、并通过三维重建得到图像帧序列对应的三维点云的服务器。可以理解的是,由于云端设备通常都具有较强的数据计算能力,因此在云端设备中执行三维重建方法中的上述步骤可以避免终端设备执行上述步骤时的内存占用,提高三维重建方法的运行速度。
72.可能的实现方式中,上述终端设备和云端设备可以建立通信连接,例如终端设备和云端设备可以通过超文本传输协议(hyper text tansfer protocol,http)或基于安全套接字层的超文本传输协议(hyper text transfer trotocol over secure socket layer,https)等协议建立通信连接,本技术实施例中对此不做任何限制。
73.本技术实施例中,图4为本技术实施例提供的另一种导航界面示意图。如图4所示,该界面中可以包括用户101、地点401、地点402、用于重定位的控件403等。该界面中的其他内容与图1所示的界面类似,在此不再赘述。如图4所示,在用户利用终端设备(如手机)中的ar导航指示路线的过程中,终端设备可以基于摄像头获取图像帧序列,并将图像帧序列发送至云端设备,使得云端设备可以基于下述s302-s304所示的步骤通过图像帧序列重建当前场景的三维点云,进而终端设备可以基于该三维点云识别场景中的对象并指示导航路线。
74.s301、终端设备获取图像帧序列,并将该图像帧序列上传至云端设备。
75.本技术实施例中,该图像帧序列为基于终端设备的摄像头采集到的,该图像帧序列中包括多张图像。其中,该摄像头可以为单目相机中的摄像头。
76.示例性的,终端设备可以周期性的获取图像帧序列,例如每0.5秒钟获取一次图像帧序列;或者,终端设备可以在检测到当前环境与上一时刻(例如上一帧)的图像的相似度大于预设的相似度阈值时自动获取图像帧序列;或者,终端设备也可以基于用户对于终端设备的触发获取图像帧序列。如图4所示,当用户101位于地点401所在的位置,而导航中指示用户101位于超市门口,例如地点402所在的位置时,用户可以确定当前导航可能定位有误,并通过触发该控件403进行重新定位。例如,当终端设备接收到用户触发该控件403的操作时,终端设备可以基于摄像头获取当前的图像帧序列,并将图像帧序列上传至云端设备,进而云端设备可以执行s302所示的步骤。
77.s302、云端设备提取图像帧序列中的图像的语义标签、低纹理区域、运动区域及帧间匹配关系。
78.本技术实施例中,该语义标签(或理解为语义信息)用于指示图像中包含的对象的属性标签;位姿可以用于指示相机的位置以及方向;帧间匹配关系用于指示图像帧序列中的两帧之间的特征点的匹配关系。
79.示例性的,云端设备可以提取该图像帧序列中的各图像的语义标签、低纹理区域、运动区域以及两帧间的匹配关系;或者,云端设备也可以提取该图像帧序列中的关键帧序列中的各图像的语义标签、低纹理区域、运动区域以及两帧间的匹配关系。其中,该关键帧序列可以为云端设备在固定的时间间隔内获取的,例如云端设备可以在图像帧序列中每5帧取一个关键帧图像,由多张关键帧图像得到关键帧序列;或者,该关键帧序列也可以为云端设备基于图像帧序列中的各图像的特征点,检测到的两帧图像中由特征点的重叠部分构
成的重叠区域大于(或大于等于)区域阈值,且该两帧图像中的特征点的数目均大于(或大于等于)预设的数目阈值的图像,由满足上述要求的多张两帧图像得到关键帧序列。
80.可以理解的是,云端设备基于关键帧序列进行后续的三维点云重建过程,可以减少算法的内存占用,提高算法的运行速度。该关键帧序列的获取方式可以根据实际场景包括其他内容,本技术实施例中对此不做限定。
81.本技术实施例中,云端设备可以基于预设的算法,例如基于预设的神经网络模型算法对图像帧序列中的各图像进行语义分割,得到图像帧序列中的各图像的语义标签、低纹理区域、以及运动区域等。
82.针对帧间匹配关系(或也可以称为两帧间的2d-2d相关性关系),云端设备可以通过特征提取、以及特征匹配等步骤获取图像间的特征点的匹配关系。
83.针对特征提取,云端设备可以基于加速分段试验(features fromaccelerated segment test,fast)特征点检测算法、哈里斯(harris)特征点检测算法、尺寸不变特征转换(scale-invariant feature transform,sift)算法、或加速稳健特征(speeded up robust features,surf)算法对图像帧序列中的图像进行特征提取。
84.针对特征匹配,云端设备可以基于两帧间的欧式距离获取特征点之间的匹配关系。
85.s303、云端设备在图像帧序列中的各图像中分割出低纹理区域以及运动区域,得到分割处理后的图像帧序列。
86.本技术实施例中,该低纹理区域可以为纹理数值小于预设阈值的区域;纹理数值用于指示图像中的局部纹理特征;该运动区域可以为包含运动对象的区域。示例性的,云端设备可以通过神经网络模型等方法实现从图像中分割出低纹理区域以及运动区域。可以理解的是,在图像帧序列中的各图像中分割出低纹理区域以及运动区域,可以避免低纹理区域以及运动区域对后续三维重建的影响。
87.s304、云端设备利用分割处理后的图像帧序列进行sfm处理,重建得到带有语义标签的三维点云。
88.本技术实施例中,该sfm处理可以包括:初始化、图像注册、三角化以及语义一致性集束调整等步骤。其中,该初始化中可以包括:确定初始图像对、对该初始图像对的三角化处理、以及对该初始图像对的语义一致性集束调整等步骤。
89.针对初始化中的确定初始图像对,由于初始图像对对于增量式sfm重建的精度影响较大,因此在进行sfm处理中选择合适的初始图像对至关重要,例如,可以基于图像对的基线、图像对的内点占比情况、和/或图像对的特征点的匹配个数等,确定初始图像对。
90.针对图像注册,可以理解为在初始图像对的基础上,引入新的参与三维重建的图像帧,并求出该参与三维重建的图像帧的位姿。其中,可以通过pnp方法求解位姿。
91.可以理解的是,由于该参与重建的图像帧对三维重建的影响较大,例如若选择了不好的图像帧可以会导致无法进行图像注册以及三角化失败,因此该参与重建的图像帧的选择尤为重要。
92.示例性的,当在初始图像对,例如图像的基础上,通过图像注册引入参与重建的图像时,该图像的选取可以与初始图像对所对应的三维点云中的3d点所匹配
的图像中的2d特征点的数量(或理解为2d-3d匹配数量)、以及该图像中的2d特征点的分布情况相关。例如,云端设备可以获取该2d-3d匹配数量大于预设的数量阈值,并且2d特征点分布较为均匀的图像帧(例如图像)作为图像注册时引入的参与三维重建的图像帧。
93.进一步的,云端设备可以利用pnp方法,基于图像以及初始图像对所对应的三维点云求解图像对应的位姿;基于该位姿、相机内参以及图像与该初始图像对中的任一图像帧的匹配关系进行三角化得到三维点云;并基于该初始图像对以及图像进行语义一致性集束调整等步骤,得到优化后的三维点云。适应的,当在图像注册中引入其他参与三维重建的图像帧时,其图像帧的选取以及重建得到三维点云的过程可以参见上述描述,在此不再赘述。
94.针对三角化处理,该三角化处理用于通过图像对恢复三维点云。例如,云端设备可以基于相机内参、相机的位姿以及图像对中的特征点的匹配关系,求解该图像对所对应的三维点云。其中,该相机位姿可以通过图像对的计算得到,或者该相机位姿也可以通过图像帧以及该图像帧对应的三维点云的计算得到。
95.针对语义一致性集束调整,用于通过三维点的语义信息,以及该三维点投影到相机上的二维特征点对应的语义信息的一致性情况,优化三维点坐标。可以理解的是,通过语义一致性集束调整可以实现通过语义信息优化三维点坐标,进而得到更准确的三维点云。
96.示例性的,图5为本技术实施例提供的一种sfm处理的流程示意图。如图5对应的实施例中,以针对初始图像对,例如图像以及图像,进行sfm处理得到三维点云的过程为例进行示例说明。可以理解的是,当图像注册时引入其他图像帧,例如图像时,可以基于图像与图像(或图像),重复执行上述对初始图像对进行sfm处理得到三维点云的步骤,下文将不再赘述。
97.如图5所示,对分割处理后的图像帧序列的sfm处理方法可以包括:初始化501、图像注册502、三角化503、语义一致性集束调整504等步骤。在初始化501中可以包括:确定初始图像对、针对初始图像对的三角化、以及针对初始图像对的语义一致性集束调整。其中,初始化501中可以基于对极几何估计的方法计算位姿,图像注册502中可以通过pnp算法计算位姿。
98.针对初始化501中的确定初始图像对。云端设备可以选取分割处理后的图像帧序列中的具有较大(或最大)的基线,且具有较多的特征点匹配对数的图像对,作为初始图像对。或者,云端设备也可以获取图像中的具有较大(或最大)基线的图像对、具有较多的特征点匹配对数、且内点占比最小的图像对作为初始图像。其中,云端设备可以采用随机抽样一致算法(random sample consensus,ransac)算法计算该图像对对应的单应矩阵,该单应矩阵用于描述图像对之间的映射关系,且满足单应矩阵的匹配点称为内点,不满足单应矩阵的称为外点。可以理解的是,平移越小,内点占比越高,低视差现象越明显,因此找到内点占比最小的图像对作为初始图像对可以更好的保障sfm重建效果。
99.针对初始化501中的初始图像对的三角化,云端设备可以基于初始图像对计算得到的位姿以及该初始图像对对应的帧间匹配关系,通过直接线性变换(direct linear transform,dlt),计算出初始图像对所对应的三维点云。其中,该位姿可以理解为相机的位姿。
100.具体的,云端设备可以通过对极几何估计等方法获取相机的位姿。例如,可以通过初始图像对之间的帧间匹配关系,恢复出相机的位姿(r,t)。示例性的,图6为本技术实施例提供的一种对极几何估计的原理示意图。
101.如图6所示,初始图像对为。其中,对应于两个图像对应的相机中心,为初始图像对之间的匹配点,进一步的,连接,在三维空间中会相交于点p。称为基线,由三个点可以确定一个平面,称为极平面;连线与平面的交点分别为,称为极点;极平面与两个平面之间的相交线,称为极线。
102.可以理解的是,如图6所示,从图像来看,为某个像素可能出现的空间位置,该射线上的所有点均可以投影到同一个像素点;若不知道p的位置,则从图像来看,可以为p可能出现的投影的位置,或理解为射线在图像中的投影。
103.设p的空间坐标为,该两帧图像中的像素点的像素坐标为:。
104.其中,k为相机内参,r为图像1到图像2的旋转矩阵,t为图像1到图像2的平移矩阵,(r,t)构成相机的位姿。
105.取,;其中,,为两个像素坐标在归一化平面上的坐标。
106.则=r,两侧同时左乘,并带入,得。
107.取基础矩阵,本质矩阵,对极约束为。
108.进而,云端设备可以根据匹配的特征点之间的像素位置求出e或f,并根据e或f求出r,t。
109.根据本质矩阵的定义,可以理解为e为一个3*3的矩阵,因此可以利用8点法求解e,并通过奇异值分解(singular value decompositio,svd)得到r,t。
110.具体的,取一对匹配点,其归一化坐标为:,根据对极约束,得到:矩阵e展开,写成向量的形式为:;那么对极约束可以写成与e有关的线性形式:;对于其他特征点也有相同的表示,把所有点都放到一个方程中,得到线性方程组
如下,其中可以表示为第i个特征点:可以理解的是,由上述八个方程构成线性方程组,若8对匹配点组成的矩阵满足秩为8的条件,则e的各元素可以由上述方程组解得。
111.进而,云端设备通过svd方法基于本质矩阵e恢复出位姿。
112.设e的svd为;其中,u,v为正交阵,奇异值矩阵;根据e的内在性质,可知;在svd中,对于任意一个e,存在两个可能的t,r与它对应:,,,其中,用于指示沿z轴旋转90度得到的旋转矩阵,从e分解到t,r时,存在四个可能的解。
113.示例性的,图7为本技术实施例提供的另一种对极几何估计的原理示意图。图7为分解本质矩阵得到的四个解,云端设备可以通过空间点在相机(如图7中的虚线)上的投影(例如m1,m2,m3,m4,m5,m6,m7,m8)求解相机的位姿;在保持投影点不变的情况下,可能有上述四种可能性。可以理解的是,根据正景深约束以及相机光心的位置,可以得到m1,m2对应的解为相机的位姿。其中,o1、o2、p可以参见图6中的相关参数的描述,在此不再赘述。
114.可以理解的是,也可以基于基础矩阵、或单应矩阵等估计相机的位姿,本技术实施例中对得到相机位姿的方法不做限定。
115.进一步的,云端设备可以基于相机的位姿、以及该初始图像对对应的帧间匹配关系计算得到三维点云。具体的,二维特征点(或简称2d点)与三维点(或简称3d点)可以通过投影矩阵关联起来,当初始图像对所对应的3d点的坐标为:,该3d点对应的齐次坐标表示为:;该3d点对应的2d点坐标为:,该2d点对应的齐次坐标为:;相机的内参矩阵为:;相机的位姿为:r,t, 为3d点在相机坐标系下的z轴的坐标,则3d点到图像上的投影可以为:
当为p时,则上述等式可以为:;两边同时左叉乘,则:展开后可得:整理得:可以理解的是,由于(1)式*(-u)-(2)式*v=(3)式,因此上述三个方程式可以提供两个方程的约束,当初始图像对中的特征匹配点的2d点坐标为:以及,其2d点对应的3d点坐标分别为:以及;故一个初始图像对可以构成四个方程:进而云端设备可以通过svd求解初始图像对对应的三维点云。可以理解的是,在svd求解中,齐次坐标x可以为的最小奇异值的奇异向量。
116.类似的,云端设备可以通过上述恢复三维点云的方法得到多个图像对对应的三维点云。
117.针对初始化501中的语义一致性集束调整,云端设备可以基于语义信息对三角化过程中基于初始图像帧恢复得到的三维点云进行优化,得到优化后的三维点云。具体的,该语义一致性集束调整可以参见下述公式:其中,该n可以为图像帧的数量;该m可以为图像帧中的二维特征点所对应的三维点的数量;该可以为二维特征点;该可以为三维点;该可以为投影矩阵,该用于将三维点投影到图像帧对应的二维特征点上,例如该投影矩阵中可以包括:相机的内参矩阵k,相机的位姿(r,t);该l代表用于指示语义信息的语义标签。
118.可以理解的是,由于相机的位姿以及相机的内参矩阵对于三角化的影响,使得基于三角化处理得到的三维点可能与真实三维点产生误差,因此可以基于语义一致性集束调
整,通过三维点中的语义信息、以及该三维点投影到相应的相机上的二维特征点的语义信息的一致性,反向优化三维点,使得经过语义一致性集束调整得到的三维点云更加准确。示例性的,云端设备可以利用二次规划法(sequential quadratic programming,sqp)等方法求解上述语义一致性集束调整。
119.具体的,云端设备基于sqp求解语义一致性集束调整的过程如下:令为需要优化的非线性最小二乘函数;为语义一致性等式约束,a为等式约束的雅可比矩阵,则语义一致性集束调整的拉格朗日函数为:;在一阶kkt条件下,则有:令w为的海森(hessian)矩阵,则有:在上述等式的等式两边同时减去,可得:综上,可以得到经过语义一致性集束调整后优化的三维点云。
120.针对图像注册502,云端设备可以选择参与三维重建的图像帧。例如,在初始图像对如图像以及图像的基础上,引入参与三维重建的图像时,云端设备可以利用pnp算法,根据该初始图像对经过语义一致性集束调整后的三维点云、以及图像的二维特征点,计算得到该图像对应的位姿;适应的,当在图像注册502中引入其他参与三维重建的图像帧时,其图像注册过程可以参见上述描述,在此不再赘述。
121.进一步的,云端设备可以基于该位姿进行三角化503,求解图像对应的三维点云;并基于语义一致性集束调整504优化三维点云。
122.可以理解的是,上述图像注册502、三角化503以及语义一致性集束调整504过程不断重复,直到再无待注册的图像,则算法结束。
123.可以理解的是,如图5所示,该三角化503求解图像对应的三维点云的步骤,可以参见初始化501中三角化的步骤;且,该语义一致性集束调整504的步骤可以参见上述初始化501中语义一致性集束调整的步骤,在此不再赘述。
124.s305、云端设备将带有语义标签的三维点云发送至终端设备。
125.基于此,云端设备可以基于对终端设备获取的图像帧序列中的图像的低纹理区域以及运动区域的分割,以及对分割后的图像帧序列中的图像的特征提取、特征匹配以及三角化等步骤计算得到三维点云,并通过语义一致性集束调整,优化三维点云,得到更为准确的三维点云。
126.可能的实现方式中,当云端设备或终端设备中存储有用于指示导航路线的图像数据时,云端设备也可以将计算得到的三维点云实时传输到地图数据对应的设备中。
127.基于此,在导航场景中,终端设备可以基于该实时更新的地图数据为用户提供更为准确的导航路线。
128.可能的实现方式中,终端设备也可以在本设备中执行s302-s305所示的步骤中的任一步骤,或者终端设备可以在本设备中执行s302-s305所示的步骤中的全部步骤,本技术实施例中对此不做限定。
129.基于此,终端设备可以无需与云端设备进行数据交互,仅在本地就能够实现基于拍摄得到的图像帧序列进行三维点云重建的过程。
130.可能的实现方式中,当终端设备在预设的时间阈值内接收到云端设备发送的图像帧序列对应的三维点云时,终端设备可以基于该三维点云更新当前地图,进而确定导航路线;或者,当终端设备在预设的时间阈值内未接收到云端设备发送的图像帧序列对应的三维点云时,则可以提示可以在终端设备的界面中显示提示信息,该提示信息用于提示当前定位失败。
131.基于此,用户不仅可以基于重新规划的导航路线指示方向,也可以基于提示信息及时察觉到定位失败的情况,并通过切换网络等方式进行重新定位。
132.可以理解的是,本技术实施例所提供的界面仅作为一种示意,并不能构成对本技术实施例的限定。
133.上面结合图3-图7,对本技术实施例提供的方法进行了说明,下面对本技术实施例提供的执行上述方法的装置进行描述。如图8所示,图8为本技术实施例提供的一种三维重建装置的结构示意图,该三维重建装置可以是本技术实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。
134.如图8所示,三维重建装置80可以用于通信设备、电路、硬件组件或者芯片中,该三维重建装置包括:处理单元801以及通信单元802。其中,处理单元801用于支持三维重建装置执行信息处理的步骤;通信单元802用于指示三维重建装置执行信息的接收和发送等步骤。其中,通信单元802可以是输入或者输出接口、管脚或者电路等。
135.具体的,本技术实施例提供一种三维重建装置80,装置包括通信单元802和处理单元801:通信单元802,用于接收来自第一设备的图像序列;图像序列中包括多张图像;处理单元801,用于获取图像序列中的各图像中的二维特征点的语义信息;语义信息用于描述图像中的对象;处理单元801,还用于对图像序列进行三维重建,得到第一三维点云;处理单元801,还用于基于第一二维特征点的语义信息、以及第二二维特征点的语义信息,调整第一三维点云,得到第二三维点云;其中,第一二维特征点为三维重建得到第一三维点云时对应的图像序列中的图像的二维特征点;第二二维特征点为第一三维点云投影到图像序列中的图像中时对应的二维特征点;通信单元802,还用于向第一设备发送第二三维点云。
136.在一种可能的实现方式中,处理单元801,具体用于:在第一二维特征点的语义信息与第二二维特征点的语义信息不一致时,基于第一二维特征点的语义信息,调整第一三维点云。
137.在一种可能的实现方式中,处理单元801,具体用于:将第一二维特征点的语义信息与第二二维特征点的语义信息代入到预设函数中,调整第一三维点云;预设函数满足下述公式:
其中,n为图像序列中的图像的数量;m为图像序列中的图像的二维特征点对应的三维点的数量;为第一二维特征点;为三维点;用于指示三维点投影到第二二维特征点时的投影矩阵;与相机的内参,以及相机的位姿相关;l用于指示语义信息;为第一二维特征点的语义信息;为第二二维特征点的语义信息。
138.在一种可能的实现方式中,处理单元801,还用于:基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域,得到处理后的图像序列;低纹理区域为纹理数值小于预设阈值的区域;纹理数值用于指示图像中的局部纹理特征;对处理后的图像序列进行三维重建。
139.在一种可能的实现方式中,处理单元801,具体用于:基于图像序列中的各图像中的二维特征点的语义信息,从图像序列中去除低纹理区域以及运动区域,得到处理后的图像序列;运动区域用于指示包含运动的对象的区域。
140.在一种可能的实现方式中,处理单元801,还用于:从图像序列中获取目标序列;目标序列为第二设备基于预设时间间隔从图像序列中获取的,或者,目标序列为第二设备基于图像序列中两帧图像之间的重叠区域大于区域阈值时对应的图像构成的;获取目标序列中各图像中的二维特征点的语义信息。
141.在一种可能的实现方式中,处理单元801,具体用于:获取图像序列中的图像对之间的二维特征点的匹配关系;基于图像序列中的图像对之间的二维特征点的匹配关系,得到相机的位姿;利用相机的位姿、相机的内参以及图像对之间的二维特征点的匹配关系,得到第一三维点云。
142.在一种可能的实现方式中,图像序列中的图像对的选取与下述一种或多种相关:图像对所对应的基线的长度、图像对之间的二维特征点的匹配对数、图像对所对应的内点占比情况、和/或图像对中的各图像的二维特征点的分布均匀情况。
143.在一种可能的实施例中,三维重建装置还可以包括:存储单元803。处理单元801、存储单元803通过线路相连。存储单元803可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元803可以存储终端设备中的方法的计算机执行指令,以使处理单元801执行上述实施例中的方法。存储单元803可以是寄存器、缓存或者ram等,存储单元803可以和处理单元801集成在一起。存储单元803可以是只读存储器(read-only memory,rom)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元803可以与处理单元801相独立。
144.图9为本技术实施例提供的一种控制设备的硬件结构示意图,如图9所示,该控制设备包括处理器901,通信线路904以及至少一个通信接口(图9中示例性的以通信接口903为例进行说明)。
145.处理器901可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本技术方案程序执行的集成电路。
146.通信线路904可包括在上述组件之间传送信息的电路。
147.通信接口903,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,wlan)等。可能的,该控制设备还可以包括存储器902。
148.存储器902可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路904与处理器相连接。存储器也可以和处理器集成在一起。
149.其中,存储器902用于存储执行本技术方案的计算机执行指令,并由处理器901来控制执行。处理器901用于执行存储器902中存储的计算机执行指令,从而实现本技术实施例所提供的三维重建方法。
150.可能的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
151.在具体实现中,作为一种实施例,处理器901可以包括一个或多个cpu,例如图9中的cpu0和cpu1。在具体实现中,作为一种实施例,控制设备可以包括多个处理器,例如图9中的处理器901和处理器905。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
152.示例性的,图10为本技术实施例提供的一种芯片的结构示意图。芯片100包括一个或两个以上(包括两个)处理器1020和通信接口1030。
153.在一些实施方式中,存储器1040存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
154.本技术实施例中,存储器1040可以包括只读存储器和随机存取存储器,并向处理器1020提供指令和数据。存储器1040的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。
155.本技术实施例中,存储器1040、通信接口1030以及存储器1040通过总线系统1010耦合在一起。其中,总线系统1010除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图10中将各种总线都标为总线系统1010。
156.上述本技术实施例描述的方法可以应用于处理器1020中,或者由处理器1020实现。处理器1020可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1020中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1020可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑
器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1020可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
157.结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electrically erasable programmable read only memory,eeprom)等本领域成熟的存储介质中。该存储介质位于存储器1040,处理器1020读取存储器1040中的信息,结合其硬件完成上述方法的步骤。
158.在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
159.计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
160.本技术实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
161.作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compact disc read-only memory,cd-rom)、ram、rom、eeprom或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,dsl或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,dsl或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(cd),激光盘,光盘,数字通用光盘(digital versatile disc,dvd),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
162.上述的组合也应包括在计算机可读介质的范围内。以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
转载请注明原文地址:https://win.8miu.com/read-982960.html