CN105069804B - 基于智能手机的三维模型扫描重建方法 - Google Patents
基于智能手机的三维模型扫描重建方法 Download PDFInfo
- Publication number
- CN105069804B CN105069804B CN201510519827.8A CN201510519827A CN105069804B CN 105069804 B CN105069804 B CN 105069804B CN 201510519827 A CN201510519827 A CN 201510519827A CN 105069804 B CN105069804 B CN 105069804B
- Authority
- CN
- China
- Prior art keywords
- camera
- frame
- sensor
- calculating
- smart phone
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Studio Devices (AREA)
Abstract
本发明提出一种基于智能手机的三维模型扫描重建方法,包括以下步骤:获取智能手机的姿态数据,并根据智能手机的姿态数据以智能手机的摄像头中心作为圆点建立世界坐标系;从通过摄像头拍摄的图像序列中筛选多个关键帧;对摄像头进行追踪得到摄像头的移动数据和姿态数据;估计多个关键帧中每一帧的深度信息以及可信度;根据每一帧的深度信息的可信度对多个关键帧的深度信息进行加权平均以得到最终的深度信息;将关键帧中每一帧映射到世界坐标系中,从而实现三维模型的重建。本发明的方法具有计算复杂度低、算法运行速度快、算法可靠性高及计算结果准确性高的优点。
Description
技术领域
本发明涉及计算机视觉及三维重建技术领域,特别涉及一种基于智能手机的三维模型扫描重建方法。
背景技术
当前流行的三维模型的扫描方式通常是采用Kinect,其结果比较准确,但是由于采用结构光进行深度估计,不能用于室外场景的采集。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的目的在于提供一种基于智能手机的三维模型扫描重建方法,该方法具有计算复杂度低、算法运行速度快、算法可靠性高及计算结果准确性高的优点。
为了实现上述目的,本发明的实施例提出了一种基于智能手机的三维模型扫描重建方法,包括以下步骤:S1:获取所述智能手机的姿态数据,并根据所述智能手机的姿态数据以所述智能手机的摄像头中心作为圆点建立世界坐标系;S2:从通过所述摄像头拍摄的图像序列中筛选多个关键帧;S3:对所述摄像头进行追踪得到所述摄像头的移动数据和姿态数据;S4:估计所述多个关键帧中每一帧的深度信息以及可信度;S5:根据每一帧的深度信息的可信度对所述多个关键帧的深度信息进行加权平均以得到最终的深度信息;S6:将所述关键帧中每一帧映射到所述世界坐标系中,从而实现所述三维模型的重建。
根据本发明实施例的基于智能手机的三维模型扫描重建方法,由于在智能手机中集成了较多的传感器,因此,可以利用传感器的数据对扫描物体的位置和姿态进行估计,从而大大降低了计算的复杂度,同时得到的结果也较为准确。另外,筛选出一些符合要求的关键帧,并对这些关键帧进行处理,对每一个关键帧计算出的深度进行可信度估计,对所有关键帧计算出的深度按照可信度进行加权平均,得到最终的深度结果,因此,能够提高算法运行的速度及可靠性。另外,该方法基于智能手机实现三维重建,因此适用性很强。
另外,根据本发明上述实施例的基于智能手机的三维模型扫描重建方法还可以具有如下附加的技术特征:
在一些示例中,所述步骤S1进一步包括:从所述智能手机的陀螺仪中读取传感器平面的法向量与水平地面的夹角θ,设定当θ>0时,表示传感器背对地面,当θ<0时,表示传感器正对地面,当θ=0时,传感器和地面垂直,当时,传感器和地面平行;将所述智能手机的摄像头中心所处的时间空间坐标设为(0,0,0),以作为所述世界坐标系的原点,将重力的反方向设为z轴方向,即并根据所述θ得到传感器平面的法向量为从法向量中去除z轴方向得到y轴方向,即最后令为x轴方向。
在一些示例中,所述关键帧的判定条件包括:所述智能手机的传感器中加速度的值a≤amax,其中,a为传感器的加速度的值,amax为传感器的加速度阈值;计算所述图像序列中每个图片的对比度,将所述每个图片分成大小为5像素*5像素的小块D,对每一个小块计算对比度为其中maxD表示D中像素值的最大值,minD表示D中像素值的最小值,并统计对比度符合要求的比例为其中conmin为符合要求的对比度的最小值,size()为满足要求的数量,如果pcon≤pconmin,则忽略这些帧;采用二维自相关函数计算匹配度,其中,corr(u,v.,Fj,Fi)表示第j帧和第i个关键帧的自相关函数,该函数的自变量u的范围是从1到width,v的范围是从1到height,Fj(x,y)表示第j帧点(x,y)上的像素值,计算corr(u,v.,Fj,Fi)中的最大值max(corr(u,v.,Fj,Fi))和平均值avg(corr(u,v.,Fj,Fi)),如果max(corr(u,v.,Fj,Fi))≥10avg(corr(u,v.,Fj,Fi)),则判定存在一个峰值,否则忽略该帧并跳过后面的步骤,并计算取得最大值max(corr(u,v.,Fj,Fi))的点(maxw,maxh),则匹配度为若满足macth∈[0.5,0.8],则判定匹配度符合要求,否则忽略这一帧。
在一些示例中,所述步骤S3进一步包括:获取所述摄像头的加速度;根据所述摄像头的加速度得到所述摄像头的速度;根据所述摄像头的速度得到所述摄像头的位置;从所述智能手机的陀螺仪中得到所述摄像头的姿态数据,其中,第i帧传感器平面的法向量为传感器中水平方向的向量为
在一些示例中,在所述步骤S4中,计算所述多个关键帧中每一帧的深度信息,进一步包括:采用滑动窗口的方法对选取的关建帧KFt和当前关键帧KFt+1进行双目立体匹配,具体匹配公式如下:
此时关键帧KFt中的点(x,y)与关键帧KFt+1中的点(x+i,y+j)匹配,其中ws表示搜索窗口的大小;采用多级分辨率的方法自顶向下进行搜索;计算所述关键帧中每一帧的深度图;对得到的深度图进行双边滤波。
在一些示例中,在所述步骤S4中,计算所述多个关键帧中每一帧的可信度,进一步包括:计算基于所述深度图的可信度,具体计算公式如下:
其中,dmax(x,y)和dmin(x,y)分别为从(x-1,y-1)到(x+1,y+1)共9个点上的深度的最大值和最小值;计算基于灰度图的可信度,具体计算公式如下:
其中,gmax(x,y)和gmin(x,y)分别为从(x-1,y-1)到(x+1,y+1)共9个点上的灰度值的最大值和最小值;根据所述深度图的可信度和所述灰度图的可信度计算总可信度,具体计算公式如下:
conf(x,y)=dconf(x,y)*gconf(x,y)。
在一些示例中,像素点(pi,qi)对应的世界空间坐标系为:
其中,k1,k2由相机焦距、CCD之间的距离等相机的固有性质确定,d(pi,qi)表示第i帧时像素点(pi,qi)上的深度值,si(xi,yi,zi)为相机位置移动到世界空间坐标系中的点,传感器平面的法向量为传感器中水平方向的向量为
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的基于智能手机的三维模型扫描重建方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
以下结合附图描述根据本发明实施例的基于智能手机的三维模型扫描重建方法。
图1是根据本发明一个实施例的基于智能手机的三维模型扫描重建方法的流程图。如图1所示,该方法包括以下步骤:
步骤S1:获取所述智能手机的姿态数据,并根据所述智能手机的姿态数据以所述智能手机的摄像头中心作为原点建立世界坐标系。
具体地说,该步骤即实现参数初始化。该步骤在一次扫描中只进行一次,其复杂度并不会影响整个算法的实时性。所谓一次扫描是指从用户按下扫描开始键起,到达扫描停止条件为止。在一些示例中,该步骤进一步包括:
步骤S11:智能手机初始状态获取。从智能手机的陀螺仪中读取传感器平面的法向量与水平地面的夹角θ,例如设定当θ>0时,表示传感器背对地面,当θ<0时,表示传感器正对地面,当θ=0时,表示传感器和地面垂直,当时,传感器和地面平行。由于智能手机上的摄像头和传感器放置于同一块主板上,因此可以将传感器的姿态视为摄像头的角度。
步骤S12:世界坐标系设定。将此时智能手机的摄像头中心所处的时间空间坐标设为(0,0,0),以作为世界坐标系的原点,将重力的反方向设为z轴方向,即并根据步骤S11中获取的角度数据θ得到传感器平面的法向量为从法向量中去除z轴方向得到y轴方向,即最后令为x轴方向。此时得到的坐标系为一组空间的单位正交基。
步骤S2:从通过所述摄像头拍摄的图像序列中筛选多个关键帧。具体地说,为了实现在智能手机上实时采集和记录,只对有带来额外有效信息的帧进行处理。
在一些示例中,关键帧的判定条件如下:
1.智能手机传感器中加速度的值不能过大,即a≤amax,其中,a为传感器的加速度的值,amax为传感器的加速度阈值。如果加速度值过大(a>amax),此时智能手机可能处于快速晃动中,状态不稳定,从传感器中读出的数据的误差也比较大,因此忽略这些帧。
2.智能手机的摄像头得到的图像质量要高。一方面,图片不能太模糊,否则将不能辨识拍摄物体;另一方面,图片不能有大片的无纹理区域,否则将难以进行匹配。因此,需要计算图像序列中每个图片的对比度,将每个图片分成大小为5像素*5像素的小块D,对每一个小块计算对比度为其中maxD表示D中像素值的最大值,minD表示D中像素值的最小值,并统计对比度符合要求的比例为其中conmin为符合要求的对比度的最小值,size()为满足要求的数量,如果pcon≤pconmin,则认为摄像头得到的图像质量较低,则忽略这些帧。
3.该帧和已有模型的匹配度要满足一定要求。匹配值过低,说明可能发生了场景切换或者跟踪目标丢失;匹配值过高,进行计算的意义不大,降低效率。因此,在该示例中,采用二维自相关函数计算匹配度,其中,corr(u,v.,Fj,Fi)表示第j帧和第i个关键帧的自相关函数,其函数的自变量u的范围是从1到width,v的范围是从1到height,Fj(x,y)表示第j帧点(x,y)上的像素值。计算corr(u,v.,Fj,Fi)中的最大值max(corr(u,v.,Fj,Fi))和平均值avg(corr(u,v.,Fj,Fi)),如果max(corr(u,v.,Fj,Fi))≥10avg(corr(u,v.,Fj,Fi)),则判定存在一个峰值,否则忽略该帧并跳过后面的步骤,并计算取得最大值max(corr(u,v.,Fj,Fi))的点(maxw,maxh),则匹配度为如果满足macth∈[0.5,0.8],则判定匹配度符合要求,否则忽略这一帧。
步骤S3:对摄像头进行追踪得到摄像头的移动数据和姿态数据。
具体地说,该步骤S3进一步包括:
步骤S31:获取摄像头的加速度。具体地说,摄像头和智能手机中的加速度传感器放置于同一块主板上,因此可以将传感器的加速度视为摄像头的加速度。具体地说,通常加速度传感器的频率可以达到每秒100次以上,而摄像头的视频采集通常为24帧/秒,因此每采集一帧图像通常可以得到约5个加速度传感器给出的数据。一般来说加速度传感器得到的数值的误差较大,因此采用中值滤波的方法,即将这5个加速度传感器给出的数据按从大到小排列,选择第3大的数值作为这一帧中加速度的平均数值,a(i)=median{at,t∈i}
步骤S32:根据摄像头的加速度得到摄像头的速度。可以通过迭代的算法计算出,此时速度v(i+1)=v(i)+a(i)/24。
步骤S33:根据摄像头的速度得到摄像头的位置。具体地说,计算方式和步骤S32中类似,通过迭代的算法计算出,可以得到s(i+1)=s(i)+v(i)/24。
步骤S34:从智能手机的陀螺仪中得到摄像头的姿态数据,其中,第i帧传感器平面的法向量为传感器中水平方向的向量为
步骤S4:估计多个关键帧中每一帧的深度信息以及可信度。
具体地说,在该步骤S4中,计算多个关键帧中的每一帧的深度信息,进一步包括:
步骤S41:为减少计算时间,采用滑动窗口的方法对选取的关建帧KFt和当前关键帧KFt+1进行双目立体匹配,具体匹配公式如下:
此时关键帧KFt中的点(x,y)与关键帧KFt+1中的点(x+i,y+j)匹配,其中ws表示搜索窗口的大小。
步骤S42:为了减少搜索范围,采用多级分辨率的方法自顶向下进行搜索。例如,记1级为原始分辨率,宽为w(1)=width,高为h(1)=height。若第i级的分辨率宽为w(i),高为h(i),则第i+1级的分辨率宽为w(i+1)=w(i),高为h(i+1)=h(i),在第i+1级中点(x,y)的像素值为:
p(x,y)=(p(2x,2y)+p(2x+1,2y)+p(2x,2y+1)+p(2x+1,2y+1))/4,
也即为对应第i级中4个点的像素值的平均值。
步骤S43:计算关键帧中每一帧的深度图。通常情况下,一般使用4级分辨率,采用的级数可以根据原始分辨率大小的具体情况而决定。首先在第4级分辨率中按步骤S41中的方法进行搜索,此时图片分辨率很小,由于步骤S2中第3点中的约束条件,计算出的粗略匹配点在第1级的坐标为(maxw,maxh),此时令ws=2,即搜索范围i(4)为maxw/16-2到maxw/16+2,j(4)为maxh/16-2到maxw/16+2,得到最佳匹配i(4)*和j(4)*。然后在第3级分辨率中仍然按照步骤S41中的方法进行搜索,此时搜索范围i(3)为2i(4)*-2到2i(4)*+2,j(3)为2j(4)*-2到2j(4)*+2,得到最佳匹配i(3)*和j(3)*,如此一级一级往下进行,直到得到最佳匹配i(1)*和j(1)*。进一步地,计算视差disparity=i(1)*+j(1)*,由于深度和视差呈反比,则计算深度值depth=K/disparity,K为比例常数,K越大,立体感越强,仅与摄像头参数有关,在整个视频中不会发生变化。
步骤S44:为使得到的深度图在图像连续的地方平滑而在图像的边界处具有不连续性,对得到的深度图进行双边滤波。例如,选取窗口的大小为5*5,则:
进一步地,在步骤S4中,计算多个关键帧中每一帧的可信度,进一步包括:
步骤S45:计算基于深度图的可信度。通常情况下,如果深度值变化很大,说明遇到了边界区域,在这附近计算出的深度的可信度较低,而深度值变化比较平缓的区域的可信度比较大。则对于点(x,y),基于深度图的可信度的具体计算公式如下:
其中,dmax(x,y)和dmin(x,y)分别为从(x-1,y-1)到(x+1,y+1)共9个点上的深度的最大值和最小值。
步骤S46:计算基于灰度图的可信度。通常情况下,如果灰度图的变化很小,说明遇到了无纹理区域,在该区域上进行立体匹配通常会产生比较大的误差,可信度低,而灰度值变化比较大的区域的可信度比较大。则对于点(x,y),基于灰度图的可信度的具体计算公式如下:
其中,gmax(x,y)和gmin(x,y)分别为从(x-1,y-1)到(x+1,y+1)共9个点上的灰度值的最大值和最小值。
步骤S47:根据深度图的可信度和灰度图的可信度计算总可信度。值得指出的是,以上两个公式中的置信度的范围均为从0到1之间。本发明的实施例希望估计出的结果在深度和灰度上均有比较高的置信度,故将二者的乘积作为总体置信度。具体计算公式如下:
conf(x,y)=dconf(x,y)*gconf(x,y)。
步骤S5:根据每一帧的深度信息的可信度对多个关键帧的深度信息进行加权平均以得到最终的深度信息。
步骤S6:将关键帧中每一帧映射到世界坐标系中,从而实现三维模型的重建。
具体地说,世界空间坐标系和相机平面坐标系的映射关系为:对第i帧,在步骤S3中已经计算出摄像头(相机)位置移动到世界空间坐标系中的点si(xi,yi,zi),传感器平面的法向量为传感器中水平方向的向量为相机的宽为width,高为height,则相机中的像素点(pi,qi)对应的世界空间坐标系为:
其中,k1,k2由相机焦距、CCD之间的距离等相机的固有性质决定,在扫描过程中不会发生变化,d(pi,qi)表示第i帧时像素点(pi,qi)上的深度值,其在步骤S4中已经计算出。
进一步地,在步骤S6进一步包括:根据步骤S4中计算出的可信度和步骤6计算出的可信度不断对三维模型进行更新。具体地说,如果当前模型中其中一点对应世界空间坐标的点为si(xi,yi,zi),其可信度为confi。如果该点在新关键帧中计算出世界空间坐标的点为sn(xn,yn,zn),其可信度为confn,则将该点在模型中的世界空间坐标修改为:
si+1(xi+1,yi+1,zi+1)=sn(xn,yn,zn)confn+si(xi,yi,zi)confi,
并将可信度修改为confi+1=confn+confi。
进一步地,在一些示例中,本发明实施例的方法还包括:
步骤S7(图中未示出):停止扫描。具体地说,当出现以下两种情形之一时停止扫描,算法结束:
1、用户按下了停止采集的按钮。
2、在反复执行步骤S2的过程中连续5秒没有得到关键帧,这时有可能是模型已经扫描完成,或者是模型跟踪发生丢失。
综上,根据本发明实施例的基于智能手机的三维模型扫描重建方法,由于在智能手机中集成了较多的传感器,因此,可以利用传感器的数据对扫描物体的位置和姿态进行估计,从而大大降低了计算的复杂度,同时得到的结果也较为准确。另外,筛选出一些符合要求的关键帧,并对这些关键帧进行处理,对每一个关键帧计算出的深度进行可信度估计,对所有关键帧计算出的深度按照可信度进行加权平均,得到最终的深度结果,因此,能够提高算法运行的速度及可靠性。另外,该方法基于智能手机实现三维重建,因此适用性很强。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (5)
1.一种基于智能手机的三维模型扫描重建方法,其特征在于,包括以下步骤:
S1:获取所述智能手机的姿态数据,并根据所述智能手机的姿态数据以所述智能手机的摄像头中心作为原点建立世界坐标系;
S2:从通过所述摄像头拍摄的图像序列中筛选多个关键帧;
S3:对所述摄像头进行追踪得到所述摄像头的移动数据和姿态数据;
S4:估计所述多个关键帧中每一帧的深度信息以及可信度,其中,
计算所述多个关键帧中每一帧的深度信息,具体包括:
采用滑动窗口的方法对选取的关建帧KFt和当前关键帧KFt+1进行双目立体匹配,具体匹配公式如下:
<mrow>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</munder>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mo>-</mo>
<mi>w</mi>
<mi>s</mi>
</mrow>
<mrow>
<mi>w</mi>
<mi>s</mi>
</mrow>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mo>-</mo>
<mi>w</mi>
<mi>s</mi>
</mrow>
<mrow>
<mi>w</mi>
<mi>s</mi>
</mrow>
</munderover>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>KF</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>+</mo>
<mi>i</mi>
<mo>,</mo>
<mi>y</mi>
<mo>+</mo>
<mi>j</mi>
</mrow>
<mo>)</mo>
<mo>-</mo>
<msub>
<mi>KF</mi>
<mrow>
<mi>t</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>(</mo>
<mrow>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
</mrow>
<mo>)</mo>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>,</mo>
</mrow>
此时关键帧KFt中的点(x,y)与关键帧KFt+1中的点(x+i,y+j)匹配,其中ws表示搜索窗口的大小;
采用多级分辨率的方法自顶向下进行搜索;
计算所述关键帧中每一帧的深度图;
对得到的深度图进行双边滤波;
计算所述多个关键帧中每一帧的可信度,具体包括:
计算基于所述深度图的可信度,具体计算公式如下:
<mrow>
<msub>
<mi>eonf</mi>
<mi>d</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<msub>
<mi>d</mi>
<mi>min</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<msub>
<mi>d</mi>
<mi>max</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>d</mi>
<mi>min</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,dmax(x,y)和dmin(x,y)分别为从(x-1,y-1)到(x+1,y+1)共9个点上的深度的最大值和最小值;
计算基于灰度图的可信度,具体计算公式如下:
<mrow>
<mi>g</mi>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>d</mi>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>d</mi>
<mi> </mi>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>d</mi>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>d</mi>
<mi> </mi>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>y</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,gmax(x,y)和gmin(x,y)分别为从(x-1,y-1)到(x+1,y+1)共9个点上的灰度值的最大值和最小值;
根据所述深度图的可信度和所述灰度图的可信度计算总可信度,具体计算公式如下:
conf(x,y)=dconf(x,y)*gconf(x,y);
S5:根据每一帧的深度信息的可信度对所述多个关键帧的深度信息进行加权平均以得到最终的深度信息;
S6:将步骤S5中得到的关键帧中每一帧的最终的深度信息映射到所述世界坐标系中,从而实现所述三维模型的重建。
2.根据权利要求1所述的基于智能手机的三维模型扫描重建方法,其特征在于,所述步骤S1进一步包括:
从所述智能手机的陀螺仪中读取传感器平面的法向量与水平地面的夹角θ,设定当θ>0时,表示传感器背对地面,当θ<0时,表示传感器正对地面,当θ=0时,传感器和地面垂直,当时,传感器和地面平行;
将所述智能手机的摄像头中心所处的时间空间坐标设为(0,0,0),以作为所述世界坐标系的原点,将重力的反方向设为z轴方向,即并根据所述θ得到传感器平面的法向量为从法向量中去除z轴方向得到y轴方向,即最后令为x轴方向。
3.根据权利要求1所述的基于智能手机的三维模型扫描重建方法,其特征在于,所述关键帧的判定条件包括:
所述智能手机的传感器中加速度的值a≤amax,其中,a为传感器的加速度的值,amax为传感器的加速度阈值;
计算所述图像序列中每个图片的对比度,将所述每个图片分成大小为5像素*5像素的小块D,对每一个小块计算对比度为其中maxD表示D中像素值的最大值,minD表示D中像素值的最小值,并统计对比度符合要求的比例为其中conmin为符合要求的对比度的最小值,size()为满足要求的数量,如果pcon≤pconmin,则忽略这些帧;
采用二维自相关函数计算匹配度,其中,corr(u,v,Fj,Fi)表示第j帧和第i个关键帧的自相关函数,该函数的自变量u的范围是从1到width,v的范围是从1到height,Fj(x,y)表示第j帧点(x,y)上的像素值,计算corr(u,v;Fj,Fi)中的最大值max(corr(u,v;Fj,Fi))和平均值avg(corr(u,v;Fj,Fi)),如果max(corr(u,v;Fi,Fi))≥10avg(corr(u,v;Fi,Fi)),则判定存在一个峰值,否则忽略该帧并跳过后面的步骤,并计算取得最大值max(corr(u,v;Fj,Fi))的点(maxw,maxh),则匹配度为如果满足macth∈[0.5,0.8],则判定匹配度符合要求,否则忽略这一帧。
4.根据权利要求3所述的基于智能手机的三维模型扫描重建方法,其特征在于,所述步骤S3进一步包括:
获取所述摄像头的加速度;
根据所述摄像头的加速度得到所述摄像头的速度;
根据所述摄像头的速度得到所述摄像头的位置;
从所述智能手机的陀螺仪中得到所述摄像头的姿态数据,其中,第i帧传感器平面的法向量为传感器中水平方向的向量为
5.根据权利要求2所述的基于智能手机的三维模型扫描重建方法,其特征在于,像素点(pi,qi)对应的世界空间坐标系为:
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>z</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
<mo>+</mo>
<mi>d</mi>
<mo>(</mo>
<msub>
<mi>p</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
<msub>
<mover>
<mi>n</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<msub>
<mi>q</mi>
<mi>i</mi>
</msub>
<msub>
<mover>
<mi>m</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<msub>
<mi>p</mi>
<mi>i</mi>
</msub>
<msub>
<mover>
<mi>n</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>i</mi>
</msub>
<mo>&times;</mo>
<msub>
<mover>
<mi>m</mi>
<mo>&RightArrow;</mo>
</mover>
<mi>i</mi>
</msub>
<mo>,</mo>
</mrow>
其中,k1,k2由相机焦距、CCD之间的距离等相机的固有性质确定,d(pi,qi)表示第i帧时像素点(pi,qi)上的深度值,si(xi,yi,zi)为相机位置移动到世界空间坐标系中的点,传感器平面的法向量为传感器中水平方向的向量为
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519827.8A CN105069804B (zh) | 2015-08-21 | 2015-08-21 | 基于智能手机的三维模型扫描重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519827.8A CN105069804B (zh) | 2015-08-21 | 2015-08-21 | 基于智能手机的三维模型扫描重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105069804A CN105069804A (zh) | 2015-11-18 |
CN105069804B true CN105069804B (zh) | 2018-04-20 |
Family
ID=54499161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510519827.8A Expired - Fee Related CN105069804B (zh) | 2015-08-21 | 2015-08-21 | 基于智能手机的三维模型扫描重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105069804B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITUA20163003A1 (it) * | 2016-04-29 | 2017-10-29 | Ingenera Sa | Sistema palmare perfezionato per la scansione tridimensionale da smartphone. |
CN106447728A (zh) | 2016-08-29 | 2017-02-22 | 华为技术有限公司 | 一种调整扫描状态的方法及装置 |
CN106970148A (zh) * | 2017-04-28 | 2017-07-21 | 浙江科技学院 | 一种基于智能手机的墙体探测系统及方法 |
CN107862674B (zh) * | 2017-11-08 | 2020-07-03 | 杭州测度科技有限公司 | 深度图像融合方法及系统 |
CN107941167B (zh) * | 2017-11-17 | 2020-06-16 | 西南民族大学 | 一种基于无人机载具和结构光扫描技术的空间扫描系统及其工作方法 |
WO2019104571A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳市大疆创新科技有限公司 | 图像处理方法和设备 |
CN109085915B (zh) * | 2017-12-29 | 2021-05-14 | 成都通甲优博科技有限责任公司 | 一种增强现实方法、系统、设备及移动终端 |
CN109345621A (zh) * | 2018-08-28 | 2019-02-15 | 广州智美科技有限公司 | 交互式人脸三维建模方法及装置 |
CN109166359A (zh) * | 2018-09-28 | 2019-01-08 | 广州狄卡视觉科技有限公司 | 一种孤独症康复训练动作导引教育互动方法及系统 |
CN111553965B (zh) * | 2020-04-29 | 2023-05-02 | 张洋 | 一种二维图像处理方法及系统 |
CN112577475A (zh) * | 2021-01-14 | 2021-03-30 | 天津希格玛微电子技术有限公司 | 一种能够有效降低功耗的视频测距方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393497A (zh) * | 2008-10-30 | 2009-03-25 | 上海交通大学 | 基于双目立体视觉的多点触摸方法 |
CN102129708A (zh) * | 2010-12-10 | 2011-07-20 | 北京邮电大学 | 增强现实环境中快速多层次虚实遮挡处理方法 |
CN102542541A (zh) * | 2011-12-31 | 2012-07-04 | 浙江大学 | 深度图像后处理的方法 |
CN103914874A (zh) * | 2014-04-08 | 2014-07-09 | 中山大学 | 一种无特征提取的紧致sfm三维重建方法 |
CN104537709A (zh) * | 2014-12-15 | 2015-04-22 | 西北工业大学 | 一种基于位姿变化的实时三维重建关键帧确定方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060065800A (ko) * | 2004-12-10 | 2006-06-14 | 한국전자통신연구원 | 헬름홀츠 스테레오를 이용한 깊이 불연속선을 지니는물체의 3차원 형상 획득 장치 및 그 방법 |
-
2015
- 2015-08-21 CN CN201510519827.8A patent/CN105069804B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393497A (zh) * | 2008-10-30 | 2009-03-25 | 上海交通大学 | 基于双目立体视觉的多点触摸方法 |
CN102129708A (zh) * | 2010-12-10 | 2011-07-20 | 北京邮电大学 | 增强现实环境中快速多层次虚实遮挡处理方法 |
CN102542541A (zh) * | 2011-12-31 | 2012-07-04 | 浙江大学 | 深度图像后处理的方法 |
CN103914874A (zh) * | 2014-04-08 | 2014-07-09 | 中山大学 | 一种无特征提取的紧致sfm三维重建方法 |
CN104537709A (zh) * | 2014-12-15 | 2015-04-22 | 西北工业大学 | 一种基于位姿变化的实时三维重建关键帧确定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105069804A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105069804B (zh) | 基于智能手机的三维模型扫描重建方法 | |
US9374571B2 (en) | Image processing device, imaging device, and image processing method | |
US10762643B2 (en) | Method for evaluating image data of a vehicle camera | |
CN107392958B (zh) | 一种基于双目立体摄像机确定物体体积的方法及装置 | |
JP4919036B2 (ja) | 移動物体認識装置 | |
JP4876080B2 (ja) | 環境認識装置 | |
JP4341564B2 (ja) | 対象物判定装置 | |
JP5949314B2 (ja) | 視差マップ生成装置および視差マップ生成装置用のプログラム | |
KR100953076B1 (ko) | 객체 또는 배경 분리를 이용한 다시점 정합 방법 및 장치 | |
CN109472820B (zh) | 单目rgb-d相机实时人脸重建方法及装置 | |
KR101551026B1 (ko) | 차량 검출 방법 | |
JP2016029564A (ja) | 対象検出方法及び対象検出装置 | |
CN111144213B (zh) | 一种对象检测方法和相关设备 | |
CN112083403B (zh) | 用于虚拟场景的定位追踪误差校正方法及系统 | |
EP3293700A1 (en) | 3d reconstruction for vehicle | |
US8675047B2 (en) | Detection device of planar area and stereo camera system | |
WO2013035457A1 (ja) | 立体画像処理装置、立体画像処理方法、及びプログラム | |
JP3786618B2 (ja) | 画像処理装置及びその方法 | |
JP2004028727A (ja) | 監視システムおよび監視方法、当該監視システムにおける距離補正装置および距離補正方法 | |
CN110443228B (zh) | 一种行人匹配方法、装置、电子设备及存储介质 | |
CN109961461B (zh) | 一种基于三维分层图模型的多运动目标跟踪方法 | |
JP4586571B2 (ja) | 対象物判定装置 | |
JP2015184121A (ja) | 距離算出装置 | |
Sato et al. | Efficient hundreds-baseline stereo by counting interest points for moving omni-directional multi-camera system | |
Um et al. | Three-dimensional scene reconstruction using multiview images and depth camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180420 Termination date: 20180821 |
|
CF01 | Termination of patent right due to non-payment of annual fee |