具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1为本发明实施例提供一种检测隧道病害的方法。该方法的可以应用于多种隧道的检测,该隧道可以是铁路隧道、公路隧道、地铁隧道等,本申请并不对隧道的类型进行限定。如图1所示,该方法,包括:
S101、获取隧道的点云和点云相对于隧道平面的姿态角。
隧道的点云指的是描述隧道表面特性的海量点集合,可以根据激光测量原理得到,即当激光照射到隧道表面时,所反射的激光会携带方位、距离等信息,若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而也可称所采集到的点云为激光点云,其中,隧道点云的采集可以是通过激光雷达,也可以是其他带有激光扫描头的激光设备采集,本申请并不对此进行限定,所采集到的隧道点云可以是由多帧点云构成的,其中,每一帧点云可以反映隧道的三维坐标和隧道表面的激光反射强度等信息。
姿态角指的是隧道的每帧点云相对于隧道平面的方位姿态,可以包括航向角、俯仰角和翻滚角等,当然,根据实际的情况,也可以包括其他,本申请在此并不进行限定。
S102、通过姿态角对点云进行纠正,获取纠正后的点云。
其中,通过采用激光设备采集隧道的点云时,由于每帧点云相对于平面存在着姿态角,所采集的每帧点云都存在一定的误差,因此,需要对每帧点云进行纠正,纠正时可采用该帧点云相对于隧道平面的姿态角进行纠正,从而使得纠正后的点云可以较为准确。
S103、对纠正后的点云进行处理,得到隧道的灰度图和/或深度图。
其中,对纠正后的点云进行处理,该处理包括过滤,抽稀,插帧以及平滑等,本申请对此并不限定,使得可以基于纠正后准确的点云进行处理,得到隧道的灰度图和/或深度图精度较高,可以反映隧道的真实情况。其中,需要说明的是,根据实际的需要,可以只处理得到隧道的灰度图、只得到隧道的深度图、或得到隧道的灰度图和深度图,本申请并不对此进行限定。
S104、根据隧道的灰度图和/或深度图,确定隧道的病害区域的病害信息。
根据隧道的灰度图和/或深度图的特征信息,即可确定隧道的病害区域以及相应的病害信息。其中,灰度图的特征信息至少包括灰度值,深度图的特征信息至少包括深度信息,也可以包括其他特征信息,本申请并不限定。其中,隧道病害可以包括变形、裂缝及渗水等类别,每一类别都对应的不同的病害信息,具体地,可以包括下述一种或多种的组合,比如,该病害在隧道中的里程信息,角度信息,病害的区域面积、长度信息、深度信息等,本申请并不对此进行限制。
综上所述,本申请所提供的检测隧道病害的方法,包括:获取隧道的点云和点云相对于隧道平面的姿态角;通过姿态角对点云进行纠正,获取纠正后的点云;对纠正后的点云进行处理,得到隧道的灰度图和/或深度图;根据隧道的灰度图和/或深度图,确定隧道的病害区域的病害信息。该方法通过对获取的点云进行纠正,可以获取到较为精确的点云,使得基于该精确的点云进行处理,可以生成精度较高的隧道灰度图和/或深度图,从而反映出隧道的真实情况,进而基于该灰度图和/或深度图,使得确定的隧道病害信息更加精确。
可选地,通过姿态角对点云进行纠正,包括:
通过偏航角、俯仰角和翻滚角依次对每帧点云的三维坐标进行纠正。
本申请中,姿态角包括偏航角、俯仰角和翻滚角,下面以每帧点云为例说明采用姿态角对点云进行纠正的过程,其中,采用偏航角对每帧点云的三维坐标进行纠正的计算公式如下:
其中,
为偏航角,x
n,y
n,z
n表示初始点云的坐标值,x
1,y
1,z
1表示经过偏航修正后点云的坐标值。
进一步地,在得到经过偏航修正后点云的坐标值后,采用俯仰角对每帧点云的三维坐标进行纠正的计算公式如下:
其中,θ为俯仰角,x1,y1,z1表示经过俯仰修正后点云的坐标值,x2,y2,z2表示经过俯仰修正后点云的坐标值。
进一步地,在经过俯仰修正后点云的坐标值后,采用翻滚角对每帧点云的三维坐标进行纠正的计算公式如下:
其中,γ为翻滚角,x2,y2,z2表示经过俯仰修正后点云的坐标值,xb,yb,zb表示最终获得的纠正后点云坐标。
图2为本发明实施例提供另一种检测隧道病害的方法。可选地,如图2所示,对纠正后的点云进行处理,包括:
S201、过滤纠正后的点云中不符合预设要求的点云。
其中,由于纠正后的点云可能含有噪点,需要经过初步过滤以滤掉该噪点,其中,预设要求可以是每帧点云的点数量阈值和预设半径等,本申请并不对此进行限定。比如,隧道内壁是圆形时,真实点云的点间距较小,通过设置每帧点云的点数量阈值和半径,搜索当前半径内的点云,当该半径内的点数量小于该阈值则舍去该帧点云,大于该阈值则保留,通过上述方法得到过滤后的点云,当然也可采取其他过滤方式进行过滤,本申请对此并不限定。
S202、对过滤后的点云通过最小二乘法拟合曲线,得到隧道的中心位置和纠正后的点云的三维坐标映射到隧道平面的坐标信息。
对过滤后的点云通过最小二乘法拟合曲线,可以将过滤后的每一帧点云通过最小二乘法拟合曲线,得到隧道的中心位置和沿各个方向的半径Radius。比如,圆形隧道可以提取圆心Center和半径Radius;矩形隧道提取到矩形中心坐标Center,长轴长LAxis,短轴长SAxis;椭圆形提取椭圆的中心Center,椭圆的长轴LAxis,短轴SAxis。进而基于该隧道的中心位置以及沿各个方向的半径,也可以得到纠正后点云的三维坐标映射到隧道平面的坐标信息。
比如,将每一帧点云根据编码器的里程值进行等间距抽稀和插帧处理,得到存储帧VecPointCloud,对存储帧VecPointCloud每一帧点云PtCloud进行坐标变换,可以转换到相对于中心Center的新坐标值VecPtLoc。
图3为本发明实施例提供的又一种检测隧道病害的方法。可选地,如图3所示,对纠正后的点云进行处理,得到隧道的灰度图,包括:
S301、按照隧道的中心位置和预设图片宽度值,获取过滤后的点云落在每一隧道区间的强度值。
其中,预设图片宽度值指的是预设生成的灰度图和/或深度图的宽度值,根据不同的需求,可以设置相应的预设图片宽度值,本申请并不对此进行限定。其中,图片宽度为Width时,将隧道按中心Center平均分成图片宽度Width份并沿隧道顶点展开,对应地,可以包括图片宽度Width个隧道区间,则按照隧道的中心位置和预设图片宽度值,获取过滤后的点云落在每一隧道区间的强度值具体计算过程如下:
基于存储帧VecPointCloud的每一帧点云PtCloud转换后的新坐标值VecPtLoc,可以将每一帧点云的坐标转为角度Angle表示,计算过程为:
Angle=INT((tan-1(y÷x))×180÷π)
其中,INT()表示取整函数,x表示新坐标系下点云的x轴坐标,y表示新坐标系下点云的y轴坐标。
在将每一帧点云的坐标信息转为角度Angle时,对该角度Angle进行进一步变换,即可得到每一帧点云落在每个区间的角度,计算过程为:
其中,Angle表示每帧点云落在区间i的角度,Cout表示每帧点云落在区间i的个数,i的取值为1到图片宽度Width值的整数。
进一步地,根据每一帧点云落在每一区间的强度,也可求出每一帧点云落在每个区间强度值,计算过程为:
其中,Intensity表示每帧点云落在区间i的强度,Cout表示每帧点云落在区间i的个数,i的取值为1到图片宽度Width值的整数。
需要说明的是,若每帧点云落在该区间i的强度值vecIntensityi为零时,需要做差值处理,若每帧点云落在该区间的强度值vecAverIntensity不为零时,则不作处理,其计算公式如下:
其中,vecIntensityi-1表示每帧点云落在上个区间的强度值,vecIntensityi+1表示每帧点云落在下个区间的强度值。即若每帧点云落在该区间i的强度值vecIntensityi为零时,则每帧点云落在该区间i的强度值vecIntensityi为上个区间的强度值vecIntensityi-1和下个区间的强度值vecIntensityi+1的均值。
S302、根据强度值,获取过滤后的点云对应的灰度值,并根据灰度值生成灰度图。
在获取到每帧点云落在每一区间i的强度值vecIntensityi后,可以根据预设计算公式将强度值vecIntensityi转为灰度值AverGrayVali,并对该灰度值AverGrayVali进行归一化处理,即可生成相应的灰度图。其中,该预设计算公式为:
vecIntensityi表示每帧点云在每一区间i的强度值,AverGrayVali表示与每一区间i的强度值相对应的灰度值,其中,vecIntensityi小于0时,对应的灰度值为0;vecIntensityi大于等于0且小于等于1时,对应的灰度值通过公式INT(vecIntensityi×255+0.5)即可求得,INT()表示取整函数;vecIntensityi大于1时,对应的灰度值为1,则依据上述所述的公式即可求出每帧点云在每一区间i的灰度值。
而灰度值AverGrayVali进行归一化处理的计算公式可如下所示:
其中,Max表示预设的灰度图像的最大灰度值,Min表示预设的灰度图像的最小灰度值,AverGrayVali表示归一化之前每帧点云在每一区间i的灰度值,AVerGrayVali表示归一化之后每帧点云在每一区间i的灰度值。
图4为本发明实施例提供的一种隧道灰度图的示意图。重复上述操作,如图4所示,直到存储帧VecPointCloud全部得到归一化后的灰度值,即可生成如图4所示的灰度图。
图5为本发明实施例提供的又一种检测隧道病害的方法。可选地,如图5所示,对纠正后的点云进行处理,得到隧道的深度图,包括:
S401、根据过滤后的点云在隧道平面的坐标信息,获取过滤后点云相对于隧道的中心位置的第一距离,和过滤后的点云与前后预设帧间隔的点云之间的第二距离,得到第一距离与第二距离之间的差值。
其中,第二距离也可称为最优距离,指的是每帧点云中每个点Point的前预设帧间隔的点Point与后预设帧间隔的点Point之间的距离按从小到大排序时,位于排序中间的距离为第二距离或最优距离。
根据过滤后的点云在隧道平面的坐标信息,计算过滤后每帧点云的每个点Point相对于隧道中心Center的第一距离Dist,第一距离Dist的计算公式为:
其中,x表示点Point的横坐标,y表示点Point的纵坐标。
而根据过滤后的点云在隧道平面的坐标信息,计算每帧点云每个点Point的前后预设帧间隔的第二距离DistN,需要说明的是该第二距离DistN指的是每帧点云每个点Point的前后预设帧间隔的最优距离,第二距离的计算公式为:
Sort(vecDist.begin(),vecDist.end())
DistN=vecDist[N÷2]
其中,vecDist表示N帧点云的集合,Sort()函数表示对vecDist进行从小到大排序,N表示前后预设帧间隔,N的取值可以为200、300或500等,根据实际的需要,可自行进行选择,本申请并不对此进行限定。
进一步地,第一距离与第二距离之间的差值Sub可表示为:
Sub=Dist-DistN
其中,Dist表示第一距离,DistN表示第二距离。
402、根据差值,得到过滤后的点云的深度信息。
在得到该差值之后,基于该差值可以得到过滤后每个点的深度信息,具体计算过程为:
B=(Sub-Min)÷(Max-Min)×255
G=(Sub-Min)÷(Max-Min)×255
R=(Sub-Min)÷(Max-Min)×255
其中,B表示每个点RGB中的蓝色分量,G表示每个点RGB中的绿色分量,R表示每个点RGB中的红色分量,Min表示预设的第二距离的最小值,Max表示预设的第二距离的最大值。
S403、根据过滤后的点云的深度信息,生成隧道的深度图。
图6为本发明实施例提供的一种隧道深度图的示意图。如图6所示,依据上述点云中每一点深度信息的计算过程,计算使得存储帧VecPointCloud每一个点都转换为RGB分量,即可生成隧道的深度图。其中,对于生成的深度图,需要说明的是,距离中心Center较远的点,其颜色RGB分量较大,表现在图像上颜色较深,呈现蓝色,如图6中的区域(a);距离中心Center较近的点,其颜色RGB分量较小,表现在图像上颜色较浅,呈现绿色或者黄色,如图6中的区域(b)所呈现的颜色为绿色。其中,图像颜色范围与设定的最小值Min和最大值Max有关,当最大值和最小值的差值越大时,其颜色变化越多,当差值越小时,其颜色变化越小。
可选地,对纠正后的点云进行处理,还包括:
对过滤后的点云按照预设规则进行抽稀和插帧处理,得到隧道的里程信息。
其中,里程信息包括点云的帧号和里程值。
里程值可以通过编码器获取,编码器可以设置在隧道检测小车的行走轮上,当通过编码器获取时,里程值的计算公式为:
Mileage=(Encl-BegEncl)×2×π×r/f
其中,Encl为编码器的当前脉冲数,BegEncl为编码器的起始脉冲数,r为检测小车的行走轮半径,f为采样频率。当然里程值也可以通过其他方式获取,本申请并不对此进行限定。
进一步地,如果里程值Mileage落在图像分度值PointMile范围内则保留该里程值和该帧点云,如果该图像分度值PointMile范围内已经存在里程值和点云,则里程值和点云被覆盖,如果里程值Mileage超出图像分度值PointMile范围,则保留上一个里程值和上一帧点云,重复上述操作,直到每一个图像分度值PointMile范围内填满里程和点云,存储至vecPointMilei,具体的计算过程为:
其中,Mileage表示当前里程值,i表示第i个图像分度值,PointMilei表示第i个图像分度值的里程,PointMilei-1表示第i-1个图像分度值的里程,vecPointMilei表示保留的里程值和该帧点云,里程值和每一帧点云是一一对应关系。
其中,需要说明的是图像分度值可以依据预设参数获得,具体计算过程如下,已知预设参数图像宽度Width,点云周长Perimeter,则根据图像宽度Width和点云周长Perimeter即可计算出图像的分辨率,具体计算过程为:
Pix=Width÷(2×π×Perimeter)
其中,Width为图像宽度,Perimeter为点云的周长。
则图像分度值计算公式为:
PointMile=1÷Pix
则依据上述公式即可求得图像的分度值。
进一步地,当存储帧VecPointCloud数量大于等于图片宽度Width时,存储帧VecPointCloud数量不在增加,将依据上述里程值的计算过程,将帧号和里程值保存成里程信息。
此外,需要说明的是,采用编码器进行里程值的采集时,由于编码器在推行过程中存在打滑等现象,因此会存在相应的误差,可以对所存在的误差进行相应的纠正。比如,对于圆形隧道,在圆形隧道墙上记录监测里程,可以通过灰度图进行查看,在灰度图的相应位置添加里程桩,计算编码器拉伸系数,从而得到真正的里程信息TrueMile,其公式如下:
其中,TrueEncl表示真实的里程值,BegEncl表示该起始监测点的编码器里程值,EndEncl表示终止监测点的编码器里程值,BegMile表示监测点的起始里程桩,EndMile表示监测点的终止里程桩。
图7为本发明实施例提供的又一种检测隧道病害的方法。可选地,如图7所示,根据隧道的灰度图和/或深度图,确定隧道的病害区域的病害信息,包括:
S501、判断隧道的灰度图的灰度值和/或深度图的深度信息是否符合预设要求。
其中,该预设要求可以是根据正常隧道所对应的灰度值和/或深度信息所设定的灰度值和/或深度信息要求。
S502、若不符合预设要求,则确定灰度值和/或深度信息对应的区域为病害区域。
根据所设定的预设要求,即可判定不符合预设要求的灰度值和/或深度信息对应的区域为病害区域。
比如,灰度值的预设要求为A~B之间,则隧道的灰度图中灰度值满足预设要求A~B之间的,则可认为隧道不存在病害区域,否则为隧道存在病害区域,其他病害区域的确定与该判定过程类似,本申请在此便不再赘述。
S503、获取病害区域的特征信息,根据病害区域的特征信息确定对应的病害信息。
其中,特征信息包括病害区域的坐标信息、颜色信息和形状信息。
其中,通过获取隧道病害区域的特征信息,即可对该病害区域进一步分析。特征信息可以包括病害区域的坐标信息、颜色信息和形状信息,当然也可包括角度信息等,本申请在此不作限制。比如,坐标信息可判定病害区域所处灰度值和/或深度图的位置,进而反映病害区域在隧道中的位置;颜色信息和形状信息可判定病害的类别。
图8为本发明实施例提供的另一种隧道深度图的示意图。如图8所示,基于该图可以确定隧道中的变形区域,图上局部为蓝色,见区域(a),周围为绿色,见区域(b),表示该范围的最优距离为绿色显示的距离;如果当前距离大于最优距离时,则显示为蓝色,见区域(a);如果当前距离小于最优距离时,则显示桔色,见区域(c);如果当前距离远大于最优距离时,其显示白色,图中未示出;如果当前距离远小于最优距离时,其显示黑色,见区域(d);差值越大,颜色变化越明显,其具体计算公式如下:
B=(Sub-Min)÷(Max-Min)×255
G=(Sub-Min)÷(Max-Min)×255
R=(Sub-Min)÷(Max-Min)×255
其中,假设最优距离Mid为0m,最小值Min为-0.2m,最大值Max为0.2m,表示与隧道最优距离的差值为±0.2m,当实际的距离大于最小距离0.1m时,其B、G、R分量为64,其颜色为绿色;当实际的距离大于最优距离0.25m时,其B、G、R分量为159,其颜色为蓝色,具体颜色的计算方式可参考上述进行,本申请在此不再赘述。
而对于该变形区域,则可进一步获取该变形区域的病害信息,比如,变形区域的里程信息、角度信息、面积信息、深度信息等。进一步地,变形区域的里程信息为变形区域的中间里程,计算公式如下:
DeformMile=f((EndMouseX+BegMouseX)÷2)
其中,EndMouseX表示变形区域中灰度图和/或深度图终止的横坐标,BegMouseX表示变形区域中灰度图和/或深度图起始的横坐标,f()表示图像横坐标和里程Mile的映射关系。
变形区域的角度信息DeformAngle为变形区域的中间角度,计算公式如下:
DeformAngle=Height÷360×(EndMouseY+BegMouseY)÷2
其中,Height表示图像的高度,EndMouseY表示变形区域终止的纵坐标,BegMouseY表示变形区域起始的纵坐标。
变形区域的面积信息DeformArea为该区域的弧长DeformLength与里程差DeformMileSub的乘积,其计算公式如下:
DeformMileSub=f(EndMouseX)-f(BegMouseX)
DeformArea=DeformLength×DeformMileSub
其中,Height表示图像的高度,EndMouseY表示变形区域终止的纵坐标,BegMouseY表示变形区域起始的纵坐标,DeformMileSub表示变形区域的面积,f()表示图像横坐标和里程Mile的映射关系,DeformMileSub表示变形区域终止的横坐标所对应的里程与变形区域起始横坐标所对应的里程之间的差值。
变形区域的深度信息DeformDeep计算公式如下:
DeformDeep=DeformDist-DistN
其中,DeformDist表示变形区域的最优距离,DistN表示N帧点云的最优距离。
当然,需要说明的是,在获取到变形区域后,可以进一步加载点云的前后预设N帧,从而还原真实的三维信息,若看到点云变形区域的点云跟其他位置的点云不在一个平面,更确认此处为变形区域,提高隧道中变形区域检测的准确性。
图9为本发明实施例提供的另一种隧道深度图的示意图。可选地,如图9所示,基于该图可以确定隧道中的渗水区域,对应图9中的区域(a),由于激光雷达对水的反射强度为零,所以隧道的灰度图和/或深度图中不规则的黑色图形对应的区域即可为隧道的渗水区域。
图10为本发明实施例提供的另一种隧道深度图的示意图。可选地,如图10所示,由于裂缝的变化规律不一,多沿环片缝方向延伸,依据该规律,即可在灰度图确定隧道的裂缝,如图10中的区域(a)和区域(b)即为该隧道的裂缝区域。
可选地,病害信息包括下述一种或多种的组合:里程信息、病害类型信息、变形深度信息、病害角度信息、病害面积信息和病害长度信息。
其中,里程信息指的是隧道中发生病害的里程信息;病害类别可以包括变形、渗水、裂缝等,根据隧道的不同环境,也可包括其他的病害类型,本申请并不对此进行限定;变形深度信息可以包括变形区域的凸起信息和变形区域的凹陷信息;病害角度信息,用于描述病害区域与隧道中心的角度信息;病害面积信息则对应的可以是变形面积、渗水面积等,本申请并不对此进行限定,病害长度信息则用于描述裂缝的长度;当然,还可以包括其他的病害信息,本申请在此便不再赘述。
此外,需要说明的是,在获取到上述一项或多项病害信息后,也可建立每一病害类别与其病害信息之间的关联关系,并根据该关联关系生成相应的病害分析报告,比如,隧道变形报告、隧道渗水报告、隧道裂缝报告等,本申请并不对此进行限定。
此外,本申请结合具体的隧道病害报告对隧道变形、病害、渗水进行说明。如表1所示,为本申请实施例提供的一种隧道病害报告。对于序号为1的报告反映的是在13071.4021公里的隧道位置具有隧道变形区域,该区域的具体情况为该区域是凸起变形,相对于隧道中心的角度为191°,变形面积为0.53平方米。相应地,对于序号为5的报告反映的是在13053.4155公里的隧道位置具有隧道变形区域,该区域的具体情况为该区域是凹陷变形,相对于隧道中心的角度为185°,变形面积为0.33平方米。
表1
如表2所示,为本申请实施例提供的另一种隧道病害报告。对于序号为1的报告反映的是在13301.302公里的隧道位置具有隧道渗水区域,该区域的具体情况该区域相对于隧道中心的角度为146°,渗水面积为0.39平方米。
表2
如表3所示,为本申请实施例提供的另一种隧道病害报告,对于序号为1的报告反映的是在10458.548公里的隧道位置具有隧道裂缝区域,该区域的具体情况该区域相对于隧道中心的角度为63°,裂缝长度为0.02米。
表3
图11为本发明实施例提供的一种检测隧道装置的模块示意图。如图11所示,该装置包括:获取模块110、纠正模块120、处理模块130以及确定模块140。
获取模块110,用于获取隧道的点云和点云相对于所述隧道平面的姿态角;纠正模块120,用于通过姿态角对点云进行纠正,获取纠正后的点云;处理模块130,用于对纠正后的点云进行处理,得到隧道的灰度图和/或深度图;确定模块140,用于根据隧道的灰度图和/或深度图,确定隧道的病害区域的病害信息。
图12为本发明实施例提供的一种电子设备结构示意图。如图12所示,该电子设备可以包括存储有计算机程序的存储器410和处理器420,处理器420可以调用存储器410存储的计算机程序。当该计算机程序被处理器420读取并运行,可以实现上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并运行时,可以实现上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-OnlyMemory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。