一种车辆航迹计算方法、装置、车辆及介质
文献发布时间:2023-06-19 10:16:30
技术领域
本发明实施例涉及车载毫米雷达探测技术,尤其涉及一种车辆航迹计算方法、装置、车辆及介质。
背景技术
现今,国内外自动驾驶技术发展快速,多个汽车企业都在加紧研发车辆自动驾驶功能。毫米波雷达是自动驾驶车辆上常用的传感器。现有的毫米波雷达原始输出多为点迹输出,其感知范围内的同一车辆可能传回多个点迹信息,需要判断哪些点迹属于同一目标,防止属于同一目标的点迹分裂。
现有技术中,可以先对原始数据进行聚类的,得到点迹的分布情况,然后对每个类簇中的点迹取平均值进行航迹计算,得到车辆的航迹。但是,现有航迹计算的方法,计算量较大,而且计算得到的航迹不准确,计算效果不理想。
发明内容
本发明提供一种车辆航迹计算方法、装置、车辆及介质,以计算得到更加精确的车辆航迹。
第一方面,本发明实施例提供了一种车辆航迹计算方法,包括:
根据车辆的点迹信息,确定所述车辆的位置信息;
基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;
根据所述类簇的点迹信息,确定所述车辆的航迹。
第二方面,本发明实施例还提供了一种车辆航迹计算装置,包括:第一执行模块、聚类模块和第二执行模块,其中,
第一执行模块,用于根据车辆的点迹信息,确定所述车辆的位置信息;
聚类模块,用于基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;
第二执行模块,用于根据所述类簇的点迹信息,确定所述车辆的航迹。
第三方面,本发明实施例还提供了一种车辆,所述车辆包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
雷达,用于获取车辆的点迹信息;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的车辆航迹计算方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的车辆航迹计算方法。
本发明首先根据车辆的点迹信息,确定所述车辆的位置信息;基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;根据所述类簇的点迹信息,确定所述车辆的航迹,解决了现有技术计算得到的车辆航迹不够精确的问题,计算得到更加精确的车辆航迹,提升航迹的计算效果。
附图说明
图1为本发明实施例一提供的车辆航迹计算方法的流程图;
图2为本发明实施例提供的二维坐标系和聚类得到类簇的示意图;
图3为本发明实施例二提供的一种车辆航迹计算方法的流程图;
图4为本发明实施例二提供的一种车辆航迹计算方法的实现流程图;
图5为本发明实施例三提供的一种车辆航迹计算装置的结构图;
图6为本发明实施例四提供的一种车辆的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1为本发明实施例一提供的车辆航迹计算方法的流程图,本实施例可适用于当前车辆前存在多个车辆的情况,该方法可以由车辆系统来执行,具体包括如下步骤:
步骤110、根据车辆的点迹信息,确定所述车辆的位置信息。
车辆的点迹信息可以包括点迹的极坐标信息,通过转换点迹的极坐标信息,可以得到点迹二维坐标信息,进而得到车辆的位置信息。
其中,车辆的点迹信息可以通过车辆的毫米波雷达获取到。毫米波雷达是自动驾驶车辆上常用的传感器,当车辆进入车载毫米波雷达探测范围内时,毫米波雷达可以探测到车辆的点迹信息,点迹信息可以包括横向距离、纵向距离、纵向相对速度、雷达反射截面积等信息。另外,由于随机噪声和其他不利因素,毫米波雷达不可能报告出目标的真实位置,若目标是静止的,且其位置由毫米波雷达来反复测量,那么将得到一串空间位置相近的点迹。
图2为本发明实施例提供的二维坐标系和聚类得到类簇的示意图,如图2所示,当前车辆的车头可以为二维坐标系的原点,平行于车辆车头并且与车辆的车头一致的方向可以为二维坐标系的X轴,垂直于车辆车头的方向可以为二维坐标系的Y轴。
点迹的二维坐标信息可以根据毫米雷达的安装角度和获取到的点迹信息共同确定。
步骤120、基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇。
若当前车辆的前方包括多个毫米波雷达可以探测到的车辆时,通过毫米波雷达获取到的点迹信息可以包括多个目标的点迹信息,即可以包括多个车辆的点迹信息。所以,在根据上述点迹信息确定车辆的航迹之前,需要判断哪些点迹属于同一目标,防止属于同一目标的点迹分裂。属于同一目标的点迹通过聚类,形成一个类簇。多个目标,即多个车辆可以对应多个类簇。
车辆的形状可以包括长方体,所以,在对车辆的点迹信息进行聚类时,椭圆式距离公式可以更加准确地实现对车辆点迹信息的聚类。
具体地,可以首先对第一预设点迹进行聚类,得到第一聚类;再对第二预设点迹进行聚类,得到第一补充聚类,将第一补充聚类补充至第一聚类,得到第二聚类;依次类推,对毫米雷达波获取的所有点迹进行聚类,可以得到类簇。相应的,若当前车辆的前方包括多个车辆时,前述聚类过程之后,可以得到多个类簇。
另外,聚类方法可以包括K-MEANS聚类、均值偏移聚类、DBSCAN聚类、使用高斯混合模型的期望最大化聚类和层次聚类等。本技术方案中,可以基于DBSCAN聚类算法,实现对点迹信息的聚类。其中,椭圆式距离计算公式可以为:
其中,x
对于上述DBSCAN聚类算法,聚类算法的输入可以包括:待聚类样本集S={(x1,y1),(x2,y2),…,(xm,ym)},邻域参数(ε,minpoint),距离度量方式
聚类的具体步骤可以包括:
1)初始化核心对象集合,初始化聚类簇数,初始化未访问集合,簇划分。
2)对于j=1,2,...n,可以按如下步骤找出所有的核心对象。
a)通过椭圆式距离度量方式,找到样本x
b)如果子样本集样本个数满足|N
3)、如果核心对象集合
4)、在核心对象集合Ω中,随机选择一个核心对象o,初始化当前簇核心对象队列Ωcur={o},初始化类别序号k=k+1,初始化当前簇样本集合C
5)、如果当前簇核心对象队列
6)、在当前簇核心对象队列Ωcur中取出一个核心对象o′,通过邻域距离阈值∈找出所有的∈-邻域子样本集N
根据上述算法,对点迹进行类簇,可以得到如图2所示的三个类簇,即所有测量点迹可以分为三个目标航迹。
需要说明的是,也可以采用圆式距离计算公式和位置信息,对点迹信息进行聚类,得到类簇。
步骤130、根据所述类簇的点迹信息,确定所述车辆的航迹。
得到类簇的点迹信息之后,可以对类簇进行处理,处理后可以得到类簇的平均值,根据平均值,得到车辆的航迹。
其中,航迹可以用于预测目标的下一个位置。
具体地,类簇的点迹信息可以包括多个点迹的点迹信息。由于多个点迹与当前车辆的距离不同,所以多个点迹对当前车辆的影响强度也不同。可以通过取得多个点迹的平均值,确定属于同一类簇的点迹的航迹信息。
具体而言,可以通过加权平均或者算术平均的计算方法得到多个点迹的平均值。
另外,车辆的航迹信息还可以包括车辆的速度信息,所以可以根据点迹的速度信息,取加权平均值或者算术平均值,作为目标的航迹信息,进而作为车辆的速度信息。
本发明实施例一提供一种车辆航迹计算方法,通过根据车辆的点迹信息,确定所述车辆的位置信息;基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;根据所述类簇的点迹信息,确定所述车辆的航迹,解决了现有技术计算得到的车辆航迹不够精确的问题,计算得到更加精确的车辆航迹,达到了提升航迹计算精确度的效果。
实施例二
图3为本发明实施例二提供的一种车辆航迹计算方法的流程图,本实施例是在上述实施例的基础上进行具体化。在本实施例中,该方法还可以包括:
步骤310、根据车辆的点迹信息,确定所述车辆的位置信息。
一种实施方式中,步骤310具体可以包括:
基于雷达的安装角度和坐标转换公式,将车辆的点迹信息转化为车辆坐标系下的二维坐标位置信息。
具体地,雷达可以包括毫米波雷达,毫米波雷达可以工作在毫米波段。通常毫米波可以包括30~300GHz频段(波长为1~10mm)。毫米波的波长介于厘米波和光波之间,因此毫米波兼有微波制导和光电制导的优点。同厘米波导引头相比,毫米波导引头具有体积小、质量轻和空间分辨率高的特点。与红外、激光、电视等光学导引头相比,毫米波导引头穿透雾、烟、灰尘的能力强,具有全天候(大雨天除外)全天时的特点。另外,毫米波导引头的抗干扰、反隐身能力也优于其他微波导引头。
可以采用兰勃脱投影方式将极坐标转化为二维坐标位置信息。
若点迹的极坐标为P(λ,Φ),点迹二维坐标可以为:
其中,
由上述方法可以求得各点迹对应的二维坐标位置信息。
步骤320、基于雷达的反射截面积的阈值和速度阈值,对所述点迹信息进行处理。
其中,雷达探测的原理是发射电磁波照射到物体表面再反射回接收天线,而雷达波照射到物体表面依原路径返回的电磁波越少,雷达截面积越小,雷达对目标的信号特征就越小,探测距离也越短。
若点迹的速度小于预设值,则点迹为非正常点迹,可能会对点迹的聚类造成不准确的影响,所以需要将小于速度阈值的点迹进行滤除。
上述反射截面积阈值和速度阈值的具体数值可以根据实际车辆进行确定,在此不做具体限定。
预设反射截面积阈值和速度阈值,滤除掉小于反射截面积阈值和小于速度阈值的点迹,使得根据点迹进行聚类,得到的类簇更加精确,进而使得得到的目标航迹更加精确,使得得到的车辆航迹更加精确。
步骤330、基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇。
一种实施方式中,步骤330具体可以包括:
根据椭圆式距离计算公式和所述位置信息,对当前点迹信息进行聚类,得到初始类簇。
具体地,可以先对获取到的任一点迹进行聚类,得到初始类簇。任一点迹可以为毫米波雷达获取的任一点迹。
根据椭圆式距离计算公式和所述位置信息,依次对点迹信息进行聚类,得到补充类簇。
具体地,在得到初始类簇之后,对初始类簇周边的其他点迹进行聚类,得到其他点迹的类簇,该类簇可以聚集在初始类簇附近,可以将其确定为补充类簇。
将所述补充类簇补充至初始类簇,得到所述类簇。
具体地,将聚集在初始类簇附近的补充类簇补充至初始类簇,可以获得对应目标的类簇,使得对目标航迹的计算更加精确。
步骤340、根据所述类簇的点迹信息,确定所述车辆的航迹。
一种实施方式中,步骤340具体可以包括:
根据所述类簇的点迹信息,确定所述类簇的航迹信息。
一种实施方式中,步骤根据所述类簇的点迹信息,确定所述类簇的航迹信息的实现方式可以包括:
根据所述类簇的点迹信息,确定所述类簇对于所述车辆的威胁度。
具体地,由于各个点迹与当前车辆之间的相对位置不同,所以,各个点迹对当前车辆威胁度不同,进而得到的类簇航迹信息不同。
所以,可以根据点迹对当前车辆的威胁度,确定类簇对当前车辆的威胁度。点迹威胁度的计算公式可以如下:
其中,|x
多个点迹对当前车辆的威胁度,可以进一步确定类簇对当前车辆的威胁度。
基于所述威胁度,对所述类簇的点迹信息进行加权平均,得到所述类簇的航迹信息。
具体地,在确定点迹的威胁度之后,可以根据点迹的威胁度,确定各个点迹在其类簇中的权值,根据该权值,可以进一步得到该类簇的航迹信息。
其中,点迹在其类簇中的权值可以通过如下计算公式得到:
其中,C={C
类簇的航迹信息可以包括类簇的横纵坐标(X,Y),其中,类簇的横坐标X可以根据下述公式一确定,类簇的纵坐标Y可以根据下述公式二确定。
公式一:X=x
公式二:Y=y
三个类簇的航迹信息为:(X
X
Y
X
Y
X
Y
根据所述类簇的航迹信息,确定所述车辆的航迹信息。
具体地,由于类簇与车辆一一对应,所以,在确定类簇的航迹信息之后,车辆的航迹信息也可以得到确定。
三个车辆的航迹信息也可以为:(X
一种实施方式中,若所述车辆的航迹信息包括所述车辆的速度信息,根据所述类簇的点迹信息,确定所述车辆的航迹信息,还包括:
根据所述类簇的点迹信息,确定所述类簇对于所述车辆的威胁度。
具体确定类簇对车辆的威胁度的方式已经在前述实施方式中进行了详细的说明,在此不再赘述。
基于所述威胁度,对所述类簇的速度信息进行加权平均,得到所述类簇的速度信息。
具体地,点迹在其类簇中的权值可以通过如下计算公式得到:
其中,C={C
当车辆的航迹信息包括车辆的速度信息时,类簇的速度信息可以根据下述公式确定:
V=v
三个类簇的速度信息为:V
V
V
V
根据所述类簇的速度信息,确定所述车辆的速度信息。
具体地,由于类簇与车辆一一对应,所以,在确定类簇的速度信息之后,车辆的速度信息也可以得到确定。
三个车辆的速度信息也可以为:V
本发明实施例二提供一种车辆航迹计算方法,根据车辆的点迹信息,确定所述车辆的位置信息;基于雷达的反射截面积的阈值和速度阈值,对所述点迹信息进行处理;基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;根据所述类簇的点迹信息,确定所述车辆的航迹,若所述车辆的航迹信息包括所述车辆的速度信息,可以根据所述类簇的点迹信息,确定所述类簇对于所述车辆的威胁度;基于所述威胁度,对所述类簇的速度信息进行加权平均,得到所述类簇的速度信息;根据所述类簇的速度信息,确定所述车辆的速度信息。上述技术方案可以解决现有技术计算得到的车辆航迹不够精确的问题,可以计算得到更加精确的车辆航迹,达到了提升航迹计算精确度的效果。
图4为本发明实施例二提供的一种车辆航迹计算方法的实现流程图,示例性的给出了其中一种实现方式。如图4所示,
步骤410、将通过车载毫米波雷达获取的点迹信息包括的极坐标信息,转化为二维坐标信息,得到点迹的位置信息。
具体地,通过车载毫米雷达波获取的点迹信息可以包括点迹的极坐标信息。可以根据雷达的安装角度和转化公式,将极坐标信息转化为二维坐标信息,进而得到点迹的位置信息。
步骤420、基于雷达的反射截面积的阈值和速度阈值,滤除不满足反射截面积阈值和速度阈值的点迹。
具体地,若获取到的点迹信息的反射截面积小于反射截面积阈值或者获取到的点迹信息的速度小于速度阈值,则该点迹信息为无用点迹信息,可以对其进行滤除处理。
步骤430、根据DBSCAN聚类算法,对点迹进行聚类,得到类簇。
需要说明的是,也可以通过其他聚类算法对点迹进行聚类。
步骤440、根据计算得到的类簇中点迹的威胁度对类簇中的点迹进行加权平均。
具体地,由于类簇中点迹与当前车辆的距离不同,所以可以计算威胁度,对各个点迹进行加权平均。
步骤450、根据加权平均值和类簇中点迹的二维坐标信息,确定类簇的航迹信息。
具体地,点迹的加权平均值确定之后,可以根据加权平均值和点迹的二维坐标系信息,确定类簇的航迹信息。
其中,类簇的航迹信息可以包括横坐标信息、纵坐标信息和速度信息等。
步骤460、根据类簇的航迹信息,确定目标的航迹进行,进一步确定车辆的航迹信息。
具体地,类簇与目标,进而与车辆一一对应,所以,根据前述确定的类簇的航迹信息,可以确定目标的航迹信息,进一步可以确定车辆的航迹信息。
本发明实现方式提供一种车辆航迹计算方法,通过车载毫米波雷达获取车辆的点迹信息。将点迹信息包括的极坐标信息转化为二维坐标信息,得到点迹的位置信息。基于雷达的反射截面积的阈值和速度阈值,滤除不满足反射截面积阈值和速度阈值的点迹。根据DBSCAN聚类算法,对点迹进行聚类,得到类簇。计算得到类簇中点迹的威胁度。根据威胁度对类簇中的点迹进行加权平均。根据加权平均值和类簇中点迹的二维坐标信息,确定类簇的航迹信息。根据类簇的航迹信息,确定目标的航迹进行,进一步确定车辆的航迹信息。上述实现方式可以解决现有技术计算得到的车辆航迹不够精确的问题,可以计算得到更加精确的车辆航迹,达到了提升航迹计算精确度的效果。
实施例三
图5为本发明实施例三提供的一种车辆航迹计算装置的结构图,该装置可以适用于在当前车辆前存在多个车辆的情况,提高车辆系统对于车辆前多个车辆航迹的计算准确度。该装置可以通过软件和/或硬件实现,并一般集成在车辆系统中。
如图5所示,该装置包括:第一执行模块510、聚类模块520和第二执行模块530,其中,
第一执行模块510,用于根据车辆的点迹信息,确定所述车辆的位置信息;
聚类模块520,用于基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;
第二执行模块530,用于根据所述类簇的点迹信息,确定所述车辆的航迹。
本实施例提供的车辆航迹计算装置,通过根据车辆的点迹信息,确定所述车辆的位置信息;基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;根据所述类簇的点迹信息,确定所述车辆的航迹,解决了现有技术计算得到的车辆航迹不够精确的问题,计算得到更加精确的车辆航迹,达到了提升航迹计算精确度的效果。
在上述实施例的基础上,第一执行模块510,具体用于:
基于雷达的安装角度和坐标转换公式,将车辆的点迹信息转化为车辆坐标系下的二维坐标位置信息。
在上述实施例的基础上,聚类模块520,具体用于:
根据椭圆式距离计算公式和所述位置信息,对当前点迹信息进行聚类,得到初始类簇;
根据椭圆式距离计算公式和所述位置信息,依次对点迹信息进行聚类,得到补充类簇;
将所述补充类簇补充至初始类簇,得到所述类簇。
在上述实施例的基础上,第二执行模块530,具体用于:
根据所述类簇的点迹信息,确定所述类簇的航迹信息。
一种实施方式中,上述步骤根据所述类簇的点迹信息,确定所述类簇的航迹信息具体可以包括:
根据所述类簇的点迹信息,确定所述类簇对于所述车辆的威胁度;
基于所述威胁度,对所述类簇的点迹信息进行加权平均,得到所述类簇的航迹信息。
根据所述类簇的航迹信息,确定所述车辆的航迹信息。
在上述实施例的基础上,系统还可以包括:
处理模块,用于基于雷达的反射截面积的阈值和速度阈值,对所述点迹信息进行处理。
一种实施方式中,若所述车辆的航迹信息包括所述车辆的速度信息,根据所述类簇的点迹信息,确定所述车辆的航迹信息,还包括:
根据所述类簇的点迹信息,确定所述类簇对于所述车辆的威胁度;
基于所述威胁度,对所述类簇的速度信息进行加权平均,得到所述类簇的速度信息;
根据所述类簇的速度信息,确定所述车辆的速度信息。
本发明实施例所提供的车辆航迹计算装置可执行本发明任意实施例所提供的车辆航迹计算方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6为本发明实施例四提供的一种车辆的结构示意图,如图6所示,该车辆包括处理器610、存储器620和雷达630;车辆中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;车辆中的处理器610、存储器620和雷达630可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的车辆航迹计算方法对应的程序指令/模块(例如,车辆航迹计算装置中的第一执行模块510、聚类模块520和第二执行模块530)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行车辆的各种功能应用以及数据处理,即实现上述的车辆航迹计算方法。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至车辆。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
雷达630,用于获取车辆的点迹信息。
本发明实施例提供的车辆可以执行上述实施例提供的车辆航迹计算方法,具备相应的功能和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种车辆航迹计算方法,该方法包括:
根据车辆的点迹信息,确定所述车辆的位置信息;
基于椭圆式距离计算公式和所述位置信息,依次对所述点迹信息进行聚类,得到类簇;
根据所述类簇的点迹信息,确定所述车辆的航迹。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,可以执行本发明任意实施例所提供的车辆航迹计算方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述车辆航迹计算装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
- 一种车辆航迹计算方法、装置、车辆及介质
- 车辆航迹推算服务的控制方法、装置、设备及存储介质