一种基于北斗卫星传输数据的渔船轨迹异常检测方法转让专利

申请号 : CN201910355638.X

文献号 : CN110175633B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 万健黄杰黄泽均贾刚勇蒋从锋

申请人 : 杭州电子科技大学

摘要 :

本发明涉及一种基于北斗卫星传输数据的渔船轨迹异常检测方法。传统的船舶轨迹异常检测算法主要对船舶轨迹的位置信息进行异常检测,而忽视船舶的速度、方向等固有运动属性,本发明在TRAOD算法的基础上将渔船航向、航速等运动特征加入轨迹异常检测,从渔船位置信息和行为特征多个方面对渔船轨迹异常进行检测,并对多个轨迹异常影响因素分别进行建模,计算各个轨迹特征下的渔船轨迹异常趋势分值,提升渔船轨迹异常检测的可靠性和有效性。本发明使用加权累积和的方式实现组件异常趋势分值的组合,该方法能够根据不同组件异常检测的有效性改变组件权重,避免最终异常趋势分值过分依赖某个组件的问题。

权利要求 :

1.一种基于北斗卫星传输数据的渔船轨迹异常检测方法,其特征在于,其算法流程包括以下几个步骤:步骤a)、对渔船历史轨迹数据库中的轨迹进行行为识别,挖掘出渔船航行轨迹和作业轨迹,并分别建立渔船行为识别模型和渔船状态行为模型;

步骤b)、通过北斗卫星接收渔船轨迹数据,截取渔船轨迹快照中最近时刻的轨迹段,利用渔船行为识别模型对该轨迹段进行轨迹行为识别;

步骤c)、根据渔船轨迹行为识别结果,使用相应的渔船状态行为模型对渔船轨迹状态特征进行异常检测,同时使用TRAOD算法对渔船轨迹位置进行异常检测;

步骤d)、将上述渔船轨迹状态特征异常趋势分值和TRAOD轨迹位置异常趋势分值进行加权累加,与异常阈值进行比较,最终判断渔船状态;

所述步骤a)包括以下具体步骤:

步骤a1)、使用DBSCAN算法和时空距离度量方式对渔船历史轨迹数据集中的轨迹点进行聚类,得到不同渔船行为的轨迹段;

1.1根据时间距离度量TD(i,j)、空间距离度量SD(i,j)、速度距离度量VD(i,j)、方向距离度量DIR(i,j),得到两个轨迹点Pi和Pj间的时空距离度量D(i,j)如式(1)所示:D(i,j)=W[TD(i,j) SD(i,j) VD(i,j) DIR(i,j)]T       式(1)式中W为权重矩阵,T表示转置;

时间距离度量

式中timei、timej分别表示轨迹点Pi、Pj的时间;

空间距离度量

式中loni和lati分别代表轨迹点Pi的经纬度,lonj和latj分别代表轨迹点Pj的经纬度;

速度距离度量

式中Speedi、Speedj分别表示轨迹点Pi、Pj的速度;

轨迹点Pi和Pj之间方向距离度量DIR(i,j)为在同一时刻相同时间邻域内轨迹点方向改变次数之差;

上述公式中max(*)和min(*)分别表示当前轨迹数据集下相应距离度量的最大距离和最小距离;

1.2基于时空距离度量D(i,j),通过DBSCAN算法对渔船历史轨迹数据库中的轨迹点进行聚类,得到不同渔船行为的轨迹段;

步骤a2)、使用K-Means算法对步骤a1)中得到的轨迹段进行二次聚类,以轨迹段平均轨迹速度为距离度量将相同行为模式的轨迹段聚成一个簇,从而得到渔船停泊、航行和作业三种轨迹;

步骤a3)、提取步骤a2)中获得的渔船航行轨迹和作业轨迹,使用支持向量机建立渔船行为识别模型;

步骤a4)、提取步骤a2)中获得的渔船航行和作业两种轨迹段中各轨迹点的状态特征信息,并使用一类支持向量机分别建模,得到各状态特征组件模型,进而得到渔船状态行为模型;

状态特征信息包括瞬时角加速度、平均角加速度、瞬时航速、平均航速和加速度。

2.如权利要求1所述的一种基于北斗卫星传输数据的渔船轨迹异常检测方法,其特征在于,所述步骤b)包括以下具体步骤:步骤b1)、北斗指挥机接收北斗短报文数据,并对其进行解析,获得渔船状态信息,并将其存入渔船历史轨迹数据库;渔船状态信息包括渔船经纬度、航向、航速等;

步骤b2)、截取渔船当前时刻邻近的若干个轨迹点,获得渔船当前时刻轨迹段;

步骤b3)、使用步骤a3)中的渔船行为识别模型识别渔船轨迹行为。

3.如权利要求1所述的一种基于北斗卫星传输数据的渔船轨迹异常检测方法,其特征在于,所述步骤c)包括以下具体步骤:步骤c1)、根据步骤b)得到的渔船行为识别结果,使用相应的渔船状态行为模型对步骤b)渔船当前时刻轨迹段的状态特征进行检测,各状态特征的异常趋势分值均采用公式(5)计算获得:式中OPS(TR)表示轨迹TR中某状态特征异常轨迹点数量,PS(TR)表示轨迹TR中所有轨迹点数量;其中轨迹点某状态特征异常由相应渔船状态行为模型确定,将当前轨迹点某状态特征输入渔船状态行为模型后,若模型将当前轨迹点与历史轨迹点归为一类,则该轨迹点为正常轨迹点;否则,该轨迹点为异常轨迹点;

步骤c2)、使用TRAOD算法对渔船轨迹段进行轨迹位置特征异常检测;

假定轨迹段S1=s1e1,S2=s2e2,其中st和et(t=1,2)分别为轨迹段的起点和终点,且轨迹段S1为两条轨迹段中较短的一条,则根据式(6)、式(7)和式(10)获得垂直距离d⊥、平行距离d//和角距离dθ,进而根据公式(11)得到两条轨迹段之间的距离dist(S1,S2);

d//(S1,S2)=MIN(l//1,l//2)    式(7)l//1=MIN(||pss2||,||pse2||)     式(8)l//2=MIN(||pes2||,||pee2||)      式(9)dist(S1,S2)=w⊥·d⊥(S1,S2)+w//·d//(S1,S2)+wθ·dθ(S1,S2)     式(11)式中l⊥1和l⊥2为轨迹段S1两个端点s1和e1到轨迹段S2所在直线的垂直距离,ps和pe分别为端点s1和e1在轨迹段S2所在直线的投影,||pss2||、||pse2||、||pes2||和||pee2||表示相应线段长度,||S1||为轨迹段S1的长度,θ(0°≤θ≤180°)为轨迹段S1与S2之间较小的交叉角,MIN(a,b)取a、b中较小的值;w⊥、w||、wθ分别为垂直距离d⊥、平行距离d||和角距离dθ的权重;

基于上述轨迹段距离dist(S1,S2),异常轨迹段定义如下:若轨迹段S的非邻近轨迹数量与历史轨迹数据库中总轨迹数量之比大于阈值p,则轨迹段S被定义为异常轨迹段;

邻近轨迹定义如下:若轨迹TR中与轨迹段S的距离小于阈值D的轨迹段中轨迹点数量大于轨迹段S中轨迹点数量,则轨迹TR为轨迹段S的邻近轨迹;此处的距离计算可根据公式(11)获得;

最终渔船轨迹位置特征的异常趋势分值计算公式如下:

其中OP(TR,D,p)表示轨迹TR的异常轨迹段集合,len(*)表示相应轨迹或轨迹段中的轨迹点个数。

4.如权利要求1所述的一种基于北斗卫星传输数据的渔船轨迹异常检测方法,其特征在于,所述步骤d)包括以下具体步骤:步骤d1)、针对渔船轨迹状态行为模型中各状态特征的异常趋势分值设置组件权重;

组件权重的设置准则是:根据已有的正常轨迹和异常轨迹各状态特征的异常趋势分值,统计各状态特征的异常检测精度,精度高的状态特征对应组件模型增大组件权重,精度低的状态特征对应组件模型减小组件权重;

步骤d2)、使用加权累积和算法对各状态特征以及轨迹位置特征的异常趋势分值进行加权累加,获得渔船轨迹最终的异常趋势分值;

步骤d3)、将渔船最终的异常趋势分值与用户定义的轨迹异常阈值进行比较,若渔船异常趋势分值大于异常阈值,当前渔船被判断为异常,否则,当前渔船为正常状态。

说明书 :

一种基于北斗卫星传输数据的渔船轨迹异常检测方法

技术领域

[0001] 本发明涉及渔船轨迹异常检测技术领域,更具体而言涉及一种基于北斗卫星传输数据的渔船轨迹异常检测方法。

背景技术

[0002] 传统的船舶轨迹异常检测方法主要有基于卡尔曼滤波的船舶轨迹异常检测方法、基于轨迹聚类的船舶轨迹异常检测方法等。这些方法是对船舶历史轨迹进行聚类,建立船舶正常轨迹模型,然后计算当前船舶轨迹与正常轨迹模型的距离,并与用户定义的异常阈值比较后判断船舶异常状态。
[0003] 传统的船舶轨迹异常检测方法在船舶历史轨迹的聚类过程中,需要保证船舶在当前海域的行为模式是一致的。若船舶在海上航行时遵循航道行驶,那么通过船舶轨迹聚类的方式建立船舶正常轨迹模型,然后计算当前船舶轨迹与正常轨迹模型之间的距离实现船舶异常检测能够得到比较好的异常检测效果。但是渔船在海上航行时一般不遵循固定的航道行驶,因为渔船在海上的运行状态与传统船舶不同,传统船舶在海上航行时只有航行状态,而渔船在海上航行时具有航行和作业两种状态。
[0004] 综上传统的船舶轨迹异常检测方法,存在以下不足:
[0005] 传统船舶在海上运动过程中一般只有航行状态,而渔船在运动过程中具有航行和捕鱼两种状态,但是传统的轨迹异常检测方法主要通过轨迹位置信息进行轨迹异常检测,因此传统的轨迹异常检测方法无法直接对渔船轨迹进行异常检测。

发明内容

[0006] (一)要解决的技术问题
[0007] 本发明要解决的技术问题是在北斗卫星数据传输的基础上,如何实现渔船轨迹异常检测。
[0008] (二)技术方案
[0009] 一种基于北斗卫星传输数据的渔船轨迹异常检测方法,包括以下步骤:
[0010] 步骤a)、对渔船历史轨迹数据库中的轨迹进行行为识别,挖掘出渔船航行轨迹和作业轨迹,并分别建立渔船行为模型和渔船状态行为模型;
[0011] 步骤b)、通过北斗卫星接收渔船轨迹数据,截取渔船轨迹快照中最近时刻的轨迹段,对该轨迹段进行轨迹行为识别;
[0012] 步骤c)、根据渔船轨迹行为识别结果,使用相应的渔船状态行为模型对渔船轨迹状态特征进行异常检测,同时使用TRAOD算法对渔船轨迹位置进行异常检测;
[0013] 步骤d)、将上述渔船轨迹状态特征异常趋势分值和TRAOD轨迹位置异常趋势分值进行加权累加,与异常阈值进行比较,最终判断渔船状态。
[0014] 本发明中,由于渔船异常轨迹在轨迹数据中十分少见,要识别某条渔船的运动行为是否异常是一个比较困难的问题。所以本发明假设每条渔船都有一个异常趋势分值,本发明要做的工作就是计算每条渔船的异常趋势分值,依靠渔船的异常趋势分值定义渔船的异常状态。
[0015] 其中,所述步骤a)中:
[0016] 在取得渔船航行轨迹和作业轨迹之后,需要获得轨迹的瞬时角加速度、平均角加速度、瞬时航速、平均航速和加速度五个状态特征,并对这些状态特征分别建模,作为渔船状态行为模型的五个独立组件;
[0017] 本步骤在对渔船运动属性建模的过程中,使用的建模算法是一类支持向量机。一类支持向量机是一种常用的异常检测方法,它是支持向量机算法的一个变种。传统的支持向量机是一种有监督算法,其本质是寻找一个分类间隔最大的超平面实现数据分类,它的训练集分为两个部分,元数据和分类标签。而一类支持向量机是一种无监督算法,在它的训练集中元数据不需要有任何数据标签。一类支持向量机的目标是在特征空间中寻找一个超平面使得大部分数据都处于该超平面的正面并且让该超平面与原点的距离最大化;
[0018] 其中,所述步骤c)中:
[0019] TRAOD算法是一种基于距离的轨迹异常检测算法。该算法将轨迹分割成一系列轨迹段集合,然后通过检测异常轨迹段实现轨迹异常检测。TRAOD算法主要由两阶段组成:分割和检测。分割阶段中,每条轨迹会被分成粗粒度和细粒度两种分割等级,TRAOD算法首先对粗粒度的轨迹段进行异常检测,然后对粗粒度轨迹段剪枝,选择余下轨迹段分割成细粒度的轨迹段进行进一步的轨迹异常检测。相比于单纯使用细粒度的轨迹分割方式,将粗、细粒度两种轨迹段分割等级结合后,TRAOD算法能够在保证轨迹异常检测精度的前提下提升异常检测效率。在异常检测阶段,TRAOD算法主要通过各轨迹段之间的距离实现异常判断,考虑到不同轨迹段所在区域的轨迹密度不同,该算法还将轨迹密度结合起来,引入调整系数adj减少不同区域的轨迹密度对最终异常检测结果的影响,其中adj为平均轨迹段密度与当前轨迹段密度之比;
[0020] 本步骤分别使用TRAOD算法和步骤a)中获得渔船状态行为模型对渔船轨迹进行异常检测,获得轨迹异常趋势分值,实现渔船的多特征轨迹异常检测。
[0021] 其中,所述步骤d)中:
[0022] 渔船轨迹的不同特征具有各自不同的意义,在对这些异常分值进行组合的过程中需要对它们进行有效处理。传统组件结果组合方式主要有累积和以及排序方法,但是这两种方法都有各自的缺陷。例如累积和方法在某个组件的结果分值异常大时可能导致最终结果异常分值过分依赖该组件而弱化其他组件的影响,排序方法可能会造成各个组件结果冲突。为了解决上述方法存在的问题,本发明在累积和的基础上对算法各个组件的结果赋权,每个组件的权值由组件在当前应用场景下的轨迹异常检测可用性决定,该方法能够根据不同组件异常检测的有效性改变组件权重,避免最终异常趋势分值过分依赖某个组件的问题。
[0023] 本发明通过北斗卫星导航定位系统实现渔船状态数据的传输,该系统是我国自行研制并独立运行的全球卫星导航系统。在接收渔船状态数据时,船载传感器获取渔船当前状态信息后通过北斗短报文向监控中心发送数据,北斗指挥机接收到报文之后,监控中心对报文进行解析并存储,同时实现渔船轨迹异常检测。
[0024] 本发明的异常检测流程是:
[0025] 当接收到渔船轨迹数据时,获得该渔船对象轨迹快照中最近时刻的轨迹段,对该轨迹段进行轨迹行为识别,然后根据识别结果选择相应的渔船状态行为模型对轨迹进行异常识别,获得各个组件的轨迹异常趋势分值,同时使用TRAOD算法对该轨迹进行基于轨迹位置和距离的轨迹段异常检测,获得当前轨迹的轨迹段异常趋势分值,最后将渔船状态行为模型中各个组件的异常趋势分值和TRAOD轨迹段异常趋势分值进行整合获得最终的轨迹异常趋势分值,然后与用户定义的异常阈值进行比较定义渔船异常状态。
[0026] (三)有益效果
[0027] 传统的船舶轨迹异常检测算法主要对船舶轨迹的位置信息进行异常检测,而忽视船舶的速度、方向等固有运动属性,本发明在TRAOD算法的基础上将渔船航向、航速等运动特征加入轨迹异常检测,从渔船位置信息和行为特征多个方面对渔船轨迹异常进行检测,并对多个轨迹异常影响因素分别进行建模,计算各个轨迹特征下的渔船轨迹异常趋势分值,提升渔船轨迹异常检测的可靠性和有效性。本发明使用加权累积和的方式实现组件异常趋势分值的组合,该方法根据不同组件异常检测的有效性设置组件权重,避免最终异常趋势分值过分依赖某个组件的问题。

附图说明

[0028] 图1是基于北斗卫星传输数据的渔船轨迹异常检测方法框架图;

具体实施方式

[0029] 为了实现以上技术方案,本发明需要解决以下技术问题:如何实现渔船轨迹行为识别,如何对渔船轨迹各个特征建模,如何计算各个轨迹特征的异常趋势分值,如何对每个组件的异常趋势分值进行组合,如何定义渔船异常状态等。
[0030] 图1展示的是基于北斗卫星传输数据的渔船轨迹异常检测方法框架图,本发明对渔船轨迹进行异常检测的主要步骤有四步:
[0031] 步骤a)、对渔船历史轨迹数据库中的轨迹进行行为识别,挖掘出渔船航行轨迹和作业轨迹,并分别建立渔船行为模型和渔船状态行为模型;
[0032] 步骤b)、通过北斗卫星接收渔船轨迹数据,截取渔船轨迹快照中最近时刻的轨迹段,对该轨迹段进行轨迹行为识别;
[0033] 步骤c)、根据渔船轨迹行为识别结果,使用相应的渔船状态行为模型对渔船轨迹状态特征进行异常检测,同时使用TRAOD算法对渔船轨迹位置进行异常检测;
[0034] 步骤d)、将上述渔船轨迹状态特征异常趋势分值和TRAOD轨迹位置异常趋势分值进行加权累加,与异常阈值进行比较,最终判断渔船状态。
[0035] 优选的,所述步骤a)包括以下具体步骤:
[0036] 步骤a1)、使用DBSCAN算法和时空距离度量方式对渔船历史轨迹数据集中的轨迹点进行聚类,得到不同渔船行为的轨迹段;
[0037] 1.1根据时间距离度量TD(i,j)、空间距离度量SD(i,j)、速度距离度量VD(i,j)、方向距离度量DIR(i,j),得到两个轨迹点Pi和Pj间的时空距离度量D(i,j)如式(1)所示:
[0038] D(i,j)=W[TD(i,j) SD(i,j) VD(i,j) DIR(i,j)]T#式(1)
[0039] 式中W为权重矩阵,T表示转置;
[0040] 时间距离度量
[0041] 式中timei、timej分别表示轨迹点Pi、Pj的时间;
[0042] 空间距离度量
[0043] 式中loni和lati分别代表轨迹点Pi的经纬度,lonj和latj分别代表轨迹点Pi的经纬度;
[0044] 速度距离度量
[0045] 式中Speedi、Speedj分别表示轨迹点Pi、Pj的速度;
[0046] 轨迹点Pi和Pj之间方向距离度量DIR(i,j)为在同一时刻相同时间邻域内轨迹点方向改变次数之差;
[0047] 上述公式中max(*)和min(*)分别表示当前轨迹数据集下相应距离度量的最大距离和最小距离;
[0048] 1.2基于时空距离度量D(i,j),通过DBSCAN算法对渔船历史轨迹数据库中的轨迹点进行聚类,得到不同渔船行为的轨迹段;
[0049] 步骤a2)、使用K-Means算法对步骤a1)中得到的轨迹段进行二次聚类,以轨迹段平均轨迹速度为距离度量将相同行为模式的轨迹段聚成一个簇,从而得到渔船停泊、航行和作业三种轨迹;
[0050] 步骤a3)、提取步骤a2)中获得的渔船航行轨迹和作业轨迹,使用支持向量机建立渔船行为识别模型;
[0051] 步骤a4)、提取步骤a2)中获得的渔船航行和作业两种轨迹段中各轨迹点的状态特征信息,并使用一类支持向量机分别建模,得到各状态特征组件模型,进而得到渔船状态行为模型;
[0052] 状态特征信息包括瞬时角加速度、平均角加速度、瞬时航速、平均航速和加速度。
[0053] 优选的,所述步骤b)包括以下具体步骤:
[0054] 步骤b1)、北斗指挥机接收北斗短报文数据,并对其进行解析,获得渔船状态信息,并将其存入渔船历史轨迹数据库;渔船状态信息包括渔船经纬度、航向、航速等;
[0055] 步骤b2)、截取渔船当前时刻邻近的若干个轨迹点,获得渔船当前时刻轨迹段;
[0056] 步骤b3)、使用步骤a3)中的渔船行为识别模型识别渔船轨迹行为。
[0057] 优选的,所述步骤c)包括以下步骤:
[0058] 步骤c1)、根据步骤b)得到的渔船行为识别结果,使用相应的渔船状态行为模型对步骤b)渔船当前时刻轨迹段的状态特征进行检测,各状态特征的异常趋势分值均采用公式(5)计算获得:
[0059]
[0060] 式中OPS(TR)表示轨迹TR中某状态特征异常轨迹点数量,PS(TR)表示轨迹TR中所有轨迹点数量;其中轨迹点某状态特征异常由相应渔船状态行为模型确定,将当前轨迹点某状态特征输入渔船状态行为模型后,若模型将当前轨迹点与历史轨迹点归为一类,则该轨迹点为正常轨迹点;否则,该轨迹点为异常轨迹点;
[0061] 步骤c2)、使用TRAOD算法对渔船轨迹段进行轨迹位置特征异常检测;
[0062] 假定轨迹段S1=s1e1,S2=s2e2,其中st和et(t=1,2)分别为轨迹段的起点和终点,且轨迹段S1为两条轨迹段中较短的一条,则根据式(6)、式(7)和式(10)获得垂直距离d⊥、平行距离d‖和角距离dθ,进而根据公式(11)得到两条轨迹段之间的距离dist(S1,S2);
[0063]
[0064] d‖(S1,S2)=MIN(l‖1,l‖2)#式(7)
[0065] l‖1=MIN(‖pss2‖,‖pse2‖)#式(8)
[0066] l‖2=MIN(‖pes2‖,‖pee2‖)#式(9)
[0067]
[0068] dist(S1,S2)=w⊥·d⊥(S1,S2)+w‖·d‖(S1,S2)+wθ·dθ(S1,S2)#式(11)[0069] 式中l⊥1和l⊥2为轨迹段S1两个端点s1和e1到轨迹段S2所在直线的垂直距离,ps和pe分别为端点s1和e1在轨迹段S2所在直线的投影,‖pss2‖、‖pse2‖、‖pes2‖和‖pee2‖表示相应线段长度,‖S1‖为轨迹段S1的长度,θ(0°≤θ≤180°)为轨迹段S1与S2之间较小的交叉角,MIN(a,b)取a、b中较小的值;w⊥、w‖、wθ分别为垂直距离d⊥、平行距离d‖和角距离dθ的权重;
[0070] 基于上述轨迹段距离dist(S1,S2),异常轨迹段定义如下:若轨迹段S的非邻近轨迹数量与历史轨迹数据库中总轨迹数量之比大于阈值p,则轨迹段S被定义为异常轨迹段;
[0071] 邻近轨迹定义如下:若轨迹TR中与轨迹段S的距离小于阈值D的轨迹段中轨迹点数量大于轨迹段S中轨迹点数量,则轨迹TR为轨迹段S的邻近轨迹;此处的距离计算可根据公式(11)获得;
[0072] 最终渔船轨迹位置特征的异常趋势分值计算公式如下:
[0073]
[0074] 其中OP(TR,D,p)表示轨迹TR的异常轨迹段集合,len(*)表示相应轨迹或轨迹段中的轨迹点个数。
[0075] 优选的,所述步骤d)包括以下步骤:
[0076] 步骤d1)、针对渔船轨迹状态行为模型中各状态特征的异常趋势分值设置组件权重;
[0077] 组件权重的设置准则是:根据已有的正常轨迹和异常轨迹各状态特征的异常趋势分值,统计各状态特征的异常检测精度,精度高的状态特征对应组件模型增大组件权重,精度低的状态特征对应组件模型减小组件权重;
[0078] 步骤d2)、使用加权累积和算法对各状态特征以及轨迹位置特征的异常趋势分值进行加权累加,获得渔船轨迹最终的异常趋势分值,如算法1所示;
[0079]
[0080] 步骤d3)、将渔船最终的异常趋势分值与用户定义的轨迹异常阈值进行比较,若渔船异常趋势分值大于异常阈值,当前渔船被判断为异常,否则,当前渔船为正常状态。
[0081] 本发明在TRAOD算法的基础上将渔船航向、航速等运动特征加入轨迹异常检测,从渔船位置信息和行为特征多个方面对渔船轨迹异常进行检测,并对多个轨迹异常影响因素分别进行建模,计算各个轨迹特征下的渔船轨迹异常趋势分值。与传统轨迹异常检测算法相比,本发明能够提升渔船轨迹异常检测的鲁棒性和有效性。并且本发明使用加权累积和的方式实现组件异常趋势分值的组合,该方法根据不同组件异常检测的有效性设置组件权重,避免最终异常趋势分值过分依赖某个组件的问题。