一种用于动态目标3D检测的方法和装置
技术领域
本发明涉及计算机视觉技术应用领域,具体的涉及3D动态目标(如汽车、行人)的检测的方法、装置。
背景技术
计算机视觉是指计算机通过处理各种传感器如相机、激光雷达、毫米波雷达等传感器的原始数据,从中提取出周围的环境信息。其功能类似于人的视觉神经系统,识别出环境中所有存在的物体并确定其位置、大小、朝向、速度等信息。
计算机视觉在自动驾驶汽车领域和移动机器人领域有很大的用处。计算机视觉技术可以为自动驾驶汽车提供车辆周围的环境信息,如道路、障碍物、车辆、行人等的位置、朝向、速度等信息。这些感知信息可以为自动驾驶汽车决策和控制提供有力的支持,取代人驾驶汽车的现状。自动驾驶汽车由感知数据和车体动力学模型得出控制系统对应的转向和速度,以确保车辆在可通行区域行驶,达到车辆在道路上安全行驶的目的。
计算机视觉动态目标3D检测不同于传统2D目标检测任务。传统目标检测任务需要识别图像上存在的物体,给出其对应的类别,并且输出物体在图像上的最小2D包围框。2D物体检测所能提供环境感知信息无法满足自动驾驶场景的感知要求。自动驾驶汽车需要获取障碍物、车辆、行人等的位置、长宽高和偏转角等更加详细的信息,从而支持自动驾驶汽车的运动规划和控制。3D物体检测任务在2D物体检测的基础上,需增加输出物体在三维空间的长宽高和旋转角等信息。而目前纯视觉3D物体检测在准确率上比较低。
发明内容
针对现有技术的缺陷,本发明提供一种用于动态目标3D检测的方法和装置,在进行3D物体检测任务时除了使用RGB图像信息外,还引入激光点云数据。而引入激光点云数据存在的难点主要体现在一下几个方面:
1.如何处理激光点云数据?多线激光雷达由于扫描点密集,扫描频率较高,产生激光点云数据量大,因此对计算能力要求高,无法达到自动驾驶车辆所需的实时感知要求。来源于2D图像处理的灵感,部分点云数据处理采用立体像素化处理,然后对每个立体像素中的点云提取局部点之间的特征。但是该方法需要大量的计算资源。
2.不管是2D物体监测还是3D物体检测普遍存在小物体漏检和定位不准确的问题。该问题主要是由于对图像进行下采样操作,使得在原始图像中所占像素小的物体特征丢失,并且位置变得不准确。下采样的操作对于大尺寸的图片是必不可少的,否则在特征提取的卷积操作中会增加计算的时间和空间复杂度。
3.目前几乎所有3D物体检测都是基于地平面水平的假设,该假设与现实场景是不符的。
4.目前3D物体检测任务普遍采用一个训练的网络模型用来检测一类目标。针对不同的检测目标需要训练不同的模型,不支持多类物体同时检测。
本发明解决上述至少一项技术问题所采用的技术方案如下:
第一方面,本发明提供一种用于动态目标3D检测的方法,包括以下步骤:
通过时间戳对齐方式同步获取相机图像数据及激光雷达点云数据,并对激光雷达点云数据进行剪切;
对剪切后的所述点云数据进行立体像素栅格化处理并投影成6通道鸟瞰图;
对所述图像数据及所述6通道鸟瞰图进行特征提取,获取图像数据特征图层和鸟瞰特征图层;
融合图像数据特征图层和鸟瞰特征图层,结合先验3D锚框,生成候选区域,并得到3D候选锚框;
利用所述3D候选锚框分别提取所述图像特征图层和所述鸟瞰特征图层的特征crops并融合生成特征向量;
根据所述特征向量生成3D边界框,对所述3D边界框进行朝向回归及分类处理,完成动态目标的3D检测。
进一步的,所述的对剪切后的所述点云数据进行立体像素栅格化处理并投影成6通道鸟瞰图,包括:
将剪切后的所述点云数据沿z轴方向等分成5个区域,对每个区域内的所有点云进行投影生成鸟瞰图层;
计算每个鸟瞰图层中的点云密度,并构建第6通道鸟瞰图。
进一步的,所述的先验3D锚框的生成方法,包括:
人工对获取的相机图像数据进行3D框标注,标记出所述图像数据中运动物体;
利用k-means聚类算法对标注后生成的3D框集合进行聚类生成先验3D锚框。
进一步的,所述的对所述图像数据及所述6通道鸟瞰图进行特征提取,获取图像数据特征图层和鸟瞰特征图层,包括:
采用Depth-wise卷积与Point-wise卷积相结合的方式对所述图像以及6通道鸟瞰图进行8倍下采样,然后利用Feature Pyramid Network网络对所述图像以及6通道鸟瞰图进行8倍上采样,生成与原始图片尺寸相同的图像特征图层和6通道鸟瞰特征图层。
进一步的,所述的融合图像数据特征图层和鸟瞰特征图层,结合先验3D锚框,生成候选区域,并得到3D候选锚框,包括:
利用所述先验3D锚框扫描所述图像数据特征图层和所述鸟瞰特征图层,得到第一感兴趣区域;
对所述第一感兴趣区域进行特征提取,得到相同长度的图像数据特征向量和鸟瞰特征向量;
通过element-wise均值处理,对所述图像数据特征向量和鸟瞰特征向量进行融合,生成融合特征crops;
所述融合后的特征crops通过一个256维度的全连接层得到3D候选锚框。
进一步的,所述的利用所述先验3D锚框扫描所述图像数据特征图层和所述鸟瞰特征图层,得到第一感兴趣区域,包括:
通过使用1*1卷积操作分别对鸟瞰图和RGB图像的特征进行降维,分别输出图像降维后的图像向量image-vector和鸟瞰图降维后的向量bev-vector;
利用所述先验3D锚框扫描所述向量image-vector和所述向量bev-vector,得到第一感兴趣区域。
进一步的,所述的所述融合后的特征crops通过一个256维度的全连接层得到3D候选锚框,还包括:
采用锚框回归损失函数,计算3D候选锚框的物体/背景判断的置信值;
选取选取置信值最大的3D候选锚框作为当前锚框,计算当前锚框与其他3D候选锚框的IoU的值;
设定IoU的阈值,去除IoU大于阈值的3D候选锚框。
进一步的,所述的利用所述3D候选锚框分别提取所述图像特征图层和所述鸟瞰特征图层的特征crops并融合生成特征向量,包括:
利用所述3D候选锚框扫描所述图像数据特征图层和所述鸟瞰特征图层,得到第二感兴趣区域;
对所述第二感兴趣区域进行特征提取,得到相同长度的图像数据特征向量和鸟瞰特征向量;
通过element-wise均值处理,对所述图像数据特征向量和鸟瞰特征向量进行融合,生成融合特征crops;
所述融合后的特征crops通过一个256维度的全连接层得到3D边界框,并对所述3D边界框进行边界框朝向回归处理以及对所述3D边界框内框选的物体进行分类识别。
进一步的,所述的所述融合后的特征crops通过一个256维度的全连接层得到3D边界框,还包括:
采用锚框回归损失函数,计算3D候边界框的物体/背景判断的置信值;
选取选取置信值最大的3D候边界框作为当前锚框,计算当前锚框与其他3D边界框的IoU的值;
设定IoU的阈值,去除IoU大于阈值的3D边界框。
进一步的,所述的通过时间戳对齐方式同步获取相机图像数据及激光雷达点云数据,还包括,通过时间戳对齐方式同步获取IMU惯导数据。
进一步的,还包括利用所述IMU惯导数据计算地平面方程,并根据所述地平面方程修正所述相机图像数据以及所述激光雷达点云数据。
第二方面,本发明提供一种用于动态目标3D检测的装置,包括:
数据获取模块,通过时间戳对齐方式同步获取相机图像数据及激光雷达点云数据,并对激光雷达点云数据进行剪切;
栅格化处理模块,对剪切后的所述点云数据进行立体像素栅格化处理并投影成6通道鸟瞰图;
特征图层生成模块,对所述图像数据及所述6通道鸟瞰图进行特征提取,获取图像数据特征图层和鸟瞰特征图层;
3D候选锚框生成模块,融合图像数据特征图层和鸟瞰特征图层,结合先验3D锚框,生成候选区域,并得到3D候选锚框;
特征向量生成模块,利用所述3D候选锚框分别提取所述图像特征图层和所述鸟瞰特征图层的特征crops并融合生成特征向量;
检测模块,根据所述特征向量生成3D边界框,对所述3D边界框进行朝向回归及分类处理,完成动态目标的3D检测。
第三方面,本发明提供一种电子设备,包括:
存储器,用于存储计算机软件程序;
处理器,用于读取并执行所述存储器存储的计算机软件程序,用于实现本发明第一方面所述的一种用于动态目标3D检测的方法。
第四方面,本发明提供一种非暂态计算机可读存储介质,所述存储介质内存储有用于实现本发明第一方面所述的一种用于动态目标3D检测的方法的计算机软件程序。
本发明的有益效果是:本发明首先通过点云裁剪的方式获取特定区域的点云数据。并且采用一种特殊的鸟瞰视图投影的方式来降低点云数据的复杂度,提高计算效率。
本发明中设计一种特殊的特征提取网络,通过Depth-wise卷积和Point-wise卷积相结合的方式进行下采样,在保证特征提取效果的同时,降低了卷积运算的时间和空间复杂度。紧着这对得到的特征向量通过特征金字塔网络进行上采样,得到与原始图像同等大小的高表示性能特征图层。特征金字塔网络的运用,增强了小物体的特征提取效果。该特征提取网络不仅减少了特征提取的时间和空间复杂度,还保证了特征提取的效果,大大提高了小物体被检测的精度和更加准确的位置信息。
本发明网络融合使用了IMU的欧拉角,用于计算地平面方程。去除了地平面水平的假设。因此得到的被检测物体的位置信息会更加准确。
本发明中设计的网络支持多类物体同时检测,并且检测准确率与单一物体检测模型检测准确率持平。
附图说明
图1为本发明实施例提供的一种用于动态目标3D检测的方法流程图;
图2为本发明实施例提供的数据预处理流程图;
图3为本发明实施例提供的点云数据裁剪流程图;
图4为本发明实施例提供的点云数据栅格化处理及特征提取;
图5为本发明实施例提供的欧拉角计算地平面流程图;
图6为本发明实施例提供的图像处理流程图;
图7为本发明实施例提供的鸟瞰图层处理流程;
图8为本发明实施例提供的候选区域生成流程图;
图9为本发明实施例提供的物体检测网络流程图;
图10为本发明实施例提供的一种用于动态目标3D检测的装置结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例一
本发明实施例提供一种用于动态目标3D检测的方法,如图1所示,包括以下步骤:
S1,通过时间戳对齐方式同步获取相机图像数据及激光雷达点云数据,并对激光雷达点云数据进行剪切;
S2,对剪切后的所述点云数据进行立体像素栅格化处理并投影成6通道鸟瞰图;
S3,对所述图像数据及所述6通道鸟瞰图进行特征提取,获取图像数据特征图层和鸟瞰特征图层;
S4,结合先验3D锚框,在图像数据特征图层和鸟瞰特征图层中框选候选区域,提取候选区域特征向量并融合,生成3D候选锚框;
S5,利用所述3D候选锚框分别提取所述图像特征图层和所述鸟瞰特征图层的特征crops并融合生成特征向量;
S6,根据所述特征向量生成3D边界框,对所述3D边界框进行朝向回归及分类处理,完成动态目标的3D检测。
具体的,发明中涉及到的3D物体检测具体实施方式如下:
1.采集设备(相机、激光雷达、IMU)安装与标定
该过程涉及到相机和激光雷达的联合标定,计算出激光雷达坐标系到相机坐标系的平移和旋转矩阵。相机与IMU的联合标定,计算出相机到IMU坐标转换的旋转和平移矩阵。通过激光雷达到相机坐标系转换矩阵和相机到IMU坐标系转换矩阵,计算出激光雷达到IMU的坐标系转换矩阵。本专利中联合标定基准坐标系为IMU坐标系。
2.数据采集
相机、激光雷达、IMU同时触发,同步采集数据。
3.数据预处理(具体流程如图2)
3.1)三个传感器数据对齐:由于相机采集频率为30Hz,激光雷达为10Hz,IMU为100Hz,因此通过时间戳对齐方式,同步输出保存3种传感器的数据,统一以时间戳命名。
3.2)数据清洗与标注数据样本:筛选采集到的相机,激光雷达和IMU的欧拉角数据。对筛选过的图像数据进行3D标注。
3D标注方法:人工通过交互式标注软件,对图像中的有用目标分别用3D框进行标注。3D框标注结果由底面四个点和框底部离地面的高度和框顶部离底面的高度组成。
3.3)点云数据裁剪:
a)从点云中裁剪出对应图像区域内的所有点,即x和y轴方向取值范围限定;
b)裁剪出被检测目标可能的高度范围内的点。由于动态检测目标(如人和汽车)的高度不超过2.5米,因此在z轴方向上删除地面点和超过2.5米高度的点。通过裁剪点云可以大大减少内存的使用。该步骤需用到1中生成的平移旋转矩阵。
具体流程如图3。
3.4)对裁剪后点云数据进行立体像素(下文简称体素)栅格化处理和投影成6通道的鸟瞰特征图层:受图像处理的启发,将激光点云处理成6通道的鸟瞰图层,作为特征提取网络的输入。
a)被裁剪点云栅格化处理生成体素栅格:x方向每个栅格长度为0.1米,y轴方向长度也为0.1米;在z轴方向每个栅格为0.5米。由于z轴范围为0到2.5米区域,因此在z轴上被分割成长度为0.5米的栅格。
b)点云z轴方向压缩处理:栅格点云投影成6通道鸟瞰特征图层。z轴方向根据每个点z轴取值大小等距离划分的5个区域([0,0.5],[0.5,1.0],[1.0,1.5],[1.5,2.0],[2.0,2.5]),每个区域中的所有点分别投影成5个鸟瞰特征图层,每个体素栅格中所有点z轴值由该体素内所有点中最大z轴值编码;就算每个体素栅格中点云密度,ρ=min(1.0,log(N+1)/log8),每个体素内点的密度表征即第六特征图层。
该处理方式与VoxelNet对立体像素进行卷积相比,减少了计算量。由于在实际应用中,每次采集点云中点的数量众多,如果采用3D卷积的方式提取特征将耗费很多计算资源,且计算效率低下。具体流程如4。
3.5)IMU数据的处理,计算出地平面方程ax+by+cz+d=0的四个参数a,b,c,d。具体的通过(a,b,c)为平面法向量,d为原点到平面的距离。计算地平面方程是为了是目标检测模型具有更强的泛化性能,适用于山路,有减速带,坑洼的场景。传感器所在车在急刹车、通过减速带、坑洼时车体的位姿会发生变化,从而导致相机相对地面的位姿发生变化。通过以下步骤可以计算出新的地平面。
具体计算输入欧拉(Euler)角:偏航角yaw,俯仰角pitch,翻滚角roll。
a)将欧拉角转换成旋转矩阵Rotation_yaw,Rotation_pitch,Rotation_roll。
b)根据三个旋转矩阵计算出车体旋转矩阵Rotation=Rotation_yaw*Rotation_pitch*Rotation_roll。
c)计算新的平面的法向量:相机坐标系平面法向量n为向量(0,-1,0)的转置,新的法向量n_new=Rotation*n。
d)计算参数d:相机安装的位置点(0,h,0)其中h为相机安装的高度。该点通过平移经过地平面,因此可以通过此点计算出平面第四个参数d(d=b*h)。
很多方法中均假设地面是水平的,此处通过计算地平面方程消除了此假设。该操作使得物体检测的位置和旋转角度更加精确,生成的3D框更加准确。具体流程如图5。
4. 3D物体检测网络模型的设计
本专利中3D物体端到端检测采用两阶段的网络模型,首先通过候选区域回归网络提取出候选区域,然后在候选区域中进行目标检测。网络由三部分组成,特征提取网络,候选区域回归网络和物体检测网络。特征提取网络结果被候选区域网络和物体检测网络共用。
4.1)图像和点云鸟瞰特征图层特征提取:特征提取网络由编码器和解码器网络组成。编码器网络时VGG-16网络模型变体。对通道数减半,并只取前3个卷积层。对输入的图像和点云鸟瞰特征图层进行8被下采样,分别生成图像和点云鸟瞰图的特征图层。采Depth-wise卷积与Point-wise卷积相结合的方式,该卷积方式可以成倍的减少卷积层的时间复杂度和空间复杂度。与普通卷积不同,Depth-wise卷积的一个卷积核负责一个通道,一个通道只被一个卷积核卷积运算。3通道的彩色图像经过卷积后生成3个feature map,6通道鸟瞰图通过Depth-wise卷积后生成6分feature map。Depth-wise卷积操作由于是在单个通道内独立完成,因此没有有效利用不同通道在相同空间位置上的特征信息,因此需要Point-wise卷积来将这个不同的feature map进行重新组合,有几个卷积核输出几个新的featuremap。Point-wise卷积核的尺寸为1*1*M,M为上一层的通道数,卷积运算会将上一步的map在深度方向上进行加权组合;解码器是由一个Feature Pyramid Network(FPN)网络组成。解码器对编码器的输出的特征图层通过FPN网络进行8倍上采样,生成与原始图片尺寸相同的特征图层,由此得到高分辨率和具有代表性的特征图层。该特征图层是Region ProposalNetwork和检测网络的输入。图像处理流程如图6。鸟瞰图处理流程如图7。
特征提取网络结构一方面降低运算的复杂度,另一方面增强了小目标物体被检测的精度。由于小目标物体在图像和鸟瞰特征图中所占的像素点少,与原始图像同样大小有助于被检测小目标的检测和定位的准确性。
4.2)Region Proposal Network结合先验3D锚框,生成候选区域。3D锚框是由3D框的中心点坐标(x,y,z)和框在x,y,z轴方向对应的长度表示。
先验3D锚框:每个被检测类别物体先验3D锚框(数量和每个3D锚框的长宽高比例)是通过对训练数据中该类被检测目标训练样本中所有标注的3D锚框,即真值通过k-means聚类算法聚类生成。因此每个类别先验3D锚框的维度(即3D锚框大小和个数)是由被检测物体每个类别的训练样本聚类得到的。
a)生成每一帧对应的3D候选锚框:首先通过使用1*1卷积操作分别对鸟瞰图和RGB图像的特征进行降维,分别输出图像降维后的图像向量image-vector和鸟瞰图降维后的向量bev-vector。其次通过crop和resize操作来提取每一个先验3D锚框的crops特征。具体做法:把一个给定的先验3D锚框映射到image-vector和bev-vector上,得到相关的区域,即感兴趣区域Region of Interest(RoI)。这两个区域分别被用来提取图像视角和鸟瞰视角的crops特征图层,crops特征图层通过双线性扩展到3*3大小从而得到相同长度的特征向量。生成的2个特征向量通过element-wise的均值进行融合生成融合特征crops。融合后的特征crops通过一个256维度的全连接层输出一个物体/背景判断的置信值以及3D候选锚框。3D候选锚框中物体/背景的判断损失函数采用铰链损失,因此对于无物体的锚框在计算损失值时将被自动忽略。3D候选锚框回归是通过计算3D候选锚框中心和三个方向上长度相对于真值之间的偏差,3D候选锚框回归损失函数采用Smooth L1损失。
置信度其实包含两个方面,一是这个边界框含有目标的可能性大小p
r(object),二是这个边界框的准确度。3D候选锚框的准确度由锚框与真值(ground truth)的IoU(intersection overunion,交并比)来度量,记为
因此置信度定义为
b)去除冗余的3D候选锚框:通过非极大抑制Non-Maximum SuppressionNMS的思想,去除冗余的3D候选锚框(因为对于图像和点云数据中的一个物体可能存在多种3D候选框将其标记出)。对生成的3D候选锚框选取置信值最大的3D候选锚框作为当前锚框,然后计算当前锚框与其他锚框的IoU的值。设定IoU的阈值,去除IoU大于阈值的锚框。重复进行上述操作,从而提取出一定数量(人为设定)的回归值大的3D候选锚框。
步骤4.2)生成3D候选锚框的目的是对图像以及与之同步采集的激光点云数据进行初步筛选,筛选出可能包含有被检测到物体的区域。这样可以减少下一步需要进行检测网络的输入,减少计算。因为对于没有物体的区域进行目标检测是没有意义的。
4.3)目标检测网络包含三个子任务分别为被检测物体3D边界框回归、被检测物体朝向回归和被检测物体类别。目标检测网络的输入为步骤4.2)RPN网络生成的候选区域和步骤4.1)特征提取网络生成的图像特征图层和鸟瞰特征图层。网络的输出为被检测物体3D边界框,朝向和物体的类别。
首先步骤4.2)RPN网络生成的候选区域与步骤4.1)生成的图像特征图层,生成图像特征crops;步骤4.2)RPN网络生成的候选区域与步骤4.1)生成鸟瞰特征图层,生成鸟瞰特征crops。然后将两个特征crops融合形成一个特征向量。该特征向量通过全连接层后通过非极大值抑制的机制得到最好的3D边界框。如图9所示。
该思想与步骤4.2)类似,但网络结构和网络输入输出均不同。
1.输入不同:步骤4.2)输入的是k-means聚类生成的先验3D锚框,步骤4.3)输入的是步骤4.2)生成的3D候选锚框。
2.输出不同:步骤4.2)生成的3D候选锚框不包含朝向信息,仅包含3D框该有的边界信息。步骤4.3)生成更加精确的3D边界框、3D边界框的朝向,以及边界框中包含的物体的类别。
通过构建一个多任务的损失函数(3D边界框回归和朝向回归任务采用smooth L1损失函数,分类任务采用交叉熵损失函数cross-entropy Loss,具体损失函数公式见下文),该模型RPN网络生成的每一个候选区域做3D边界框回归,朝向回归和分类处理。检测具体流程见图9。
a)被检测物体3D边界框回归:3D边界框有底面的4个顶点和底面离地平面的高度以及顶面离地平面的高度来表示。因此3D边界框回归的目标为10维度的向量(x1,x2,x3,x4,y1,y2,y3,y4,h1,h2)。与采用8个点表示得到的24维度向量,减少了回归预测的难度。
b)被检测物体朝向回归:朝向角度theta计算余弦值和正弦值,因此可以消除鸟瞰图中朝向角可能是其补角的可能。
c)被检测物体分类:与其他分类网络类似,该子任务采用softmax函数来进行多类别的分类。
Smooth L1损失函数如下:
公式①中的yi是真值,f(x1)是预测值。n是训练样本数量。公式②是对公式①的平滑处理,如此一来损失函数将平滑且可导。对于每一个样本真实值与预测值的差值进行平滑,然后求和。模型优化目标最小化损失函数的值。
公式③为交叉熵损失函数,其中yi是真值,Pj为softmax函数的输出。n为样本数量。
实施例二
本发明实施例提供一种用于动态目标3D检测的装置,包括:
数据获取模块,通过时间戳对齐方式同步获取相机图像数据及激光雷达点云数据,并对激光雷达点云数据进行剪切;
栅格化处理模块,对剪切后的所述点云数据进行立体像素栅格化处理并投影成6通道鸟瞰图;
特征图层生成模块,对所述图像数据及所述6通道鸟瞰图进行特征提取,获取图像数据特征图层和鸟瞰特征图层;
3D候选锚框生成模块,融合图像数据特征图层和鸟瞰特征图层,结合先验3D锚框,生成候选区域,并得到3D候选锚框;
特征向量生成模块,利用所述3D候选锚框分别提取所述图像特征图层和所述鸟瞰特征图层的特征crops并融合生成特征向量;
检测模块,根据所述特征向量生成3D边界框,对所述3D边界框进行朝向回归及分类处理,完成动态目标的3D检测。
需要说明的是,实施例一中所述的方法可以通过计算机软件程序实现,基于此,本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机软件程序;
处理器,用于读取并执行所述存储器存储的计算机软件程序,用于实现实施例一提供的一种用于动态目标3D检测的方法。
同时还需说明的是,计算机软件程序中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。