点云处理方法、点云处理系统和存储介质与流程

文档序号:20959267发布日期:2020-06-02 20:35阅读:468来源:国知局
点云处理方法、点云处理系统和存储介质与流程

本申请涉及电子技术领域,具体涉及一种点云处理方法、点云处理系统和存储介质。



背景技术:

相关技术通常对摄像头拍摄的图像进行分割处理,以使电子装置理解整个场景,从而便于进行室内导航、机器人抓取等操作。然而,相关技术的处理方法通常是离线的,即对已经扫描好的场景图像进行分割。如此,在扫描过程中扫描者不能立刻得到点云分割结果,无法对点云分割结果及时做出反馈,导致分割效果较差。



技术实现要素:

本申请提供了一种点云处理方法、点云处理系统和存储介质。

本申请实施方式提供一种点云处理方法。点云处理方法包括:

处理当前帧图像以确定目标点的当前二维特征,所述当前二维特征为所述目标点在所述当前帧图像的二维特征;

根据所述当前帧图像确定所述目标点与所述目标点的邻近点之间的距离;

根据所述距离预测所述目标点的卷积核;

利用所述卷积核处理所述当前二维特征以得到当前三维特征,所述当前三维特征为所述目标点在所述当前帧图像的三维特征;

根据所述当前三维特征确定所述当前帧图像的点云分割结果。

本申请实施方式提供一种点云处理系统。点云处理系统包括存储器和处理器,所述处理器连接所述存储器,所述处理器用于处理当前帧图像以确定目标点的当前二维特征,所述当前二维特征为所述目标点在所述当前帧图像的二维特征;根据所述当前帧图像确定所述目标点与所述目标点的邻近点之间的距离;根据所述距离预测所述目标点的卷积核;利用所述卷积核处理所述当前二维特征以得到当前三维特征,所述当前三维特征为所述目标点在所述当前帧图像的三维特征;根据所述当前三维特征确定所述当前帧图像的点云分割结果。

本申请实施方式提供一种计算机可读存储介质。所述计算机可读存储介质上存储有控制程序,所述控制程序被处理器执行时实现上述的点云处理方法。

本申请实施方式的点云处理方法、点云处理系统和存储介质,通过处理当前帧图像以确定目标点的当前二维特征,并利用由目标点和邻近点之间的距离预测得到的卷积核,处理当前二维特征以得到当前三维特征,从而确定当前帧图像的点云分割结果,可以使得扫描者对点云分割结果及时做出反馈,有利于提高分割效果。

本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本申请实施方式的点云处理方法的流程示意图;

图2是本申请实施方式的点云处理系统的模块示意图;

图3是本申请另一实施方式的点云处理方法的流程示意图;

图4是本申请又一实施方式的点云处理方法的流程示意图;

图5是本申请再一实施方式的点云处理方法的流程示意图;

图6是本申请实施方式的点云处理方法中区间树与八叉树的示意图;

图7是本申请实施方式的点云处理方法中区间树的另一示意图;

图8是本申请实施方式的点云处理方法中新区间与旧区间的位置关系示意图;

图9是本申请实施方式的点云处理方法中新区间与旧区间的另一位置关系示意图;

图10是本申请实施方式的点云处理方法中新区间与旧区间的又一位置关系示意图;

图11是本申请实施方式的点云处理方法中待插入点插入至区间树的示意图;

图12是本申请另一实施方式的点云处理方法的流程示意图;

图13是本申请实施方式的点云处理方法的数据流向示意图。

具体实施方式

下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。

在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通信;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本申请提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。

请参阅图1和图2,本申请实施方式提供一种点云处理方法和点云处理系统100。点云处理方法包括:

步骤s11:处理当前帧图像以确定目标点的当前二维特征,当前二维特征为目标点在当前帧图像的二维特征;

步骤s15:根据当前帧图像确定目标点与目标点的邻近点之间的距离;

步骤s16:根据距离预测目标点的卷积核;

步骤s17:利用卷积核处理当前二维特征以得到当前三维特征,当前三维特征为目标点在当前帧图像的三维特征;

步骤s20:根据当前三维特征确定当前帧图像的点云分割结果。

本申请实施方式提供一种点云处理系统100。点云处理系统100包括存储器102和处理器101,处理器101连接存储器102,处理器101用于处理当前帧图像以确定目标点的当前二维特征,当前二维特征为目标点在当前帧图像的二维特征;根据当前帧图像确定目标点与目标点的邻近点之间的距离;根据距离预测目标点的卷积核;利用卷积核处理当前二维特征以得到当前三维特征,当前三维特征为目标点在当前帧图像的三维特征;根据当前三维特征确定当前帧图像的点云分割结果。

本申请实施方式的点云处理方法和点云处理系统100,通过处理当前帧图像以确定目标点的当前二维特征,并利用由目标点和邻近点之间的距离预测得到的卷积核,处理当前二维特征以得到当前三维特征,从而确定当前帧图像的点云分割结果,可以使得扫描者对点云分割结果及时做出反馈,有利于提高分割效果。

具体地,在步骤s11中,当前帧图像包括当前帧彩色图像和当前帧深度图像。当前帧彩色图像可由彩色摄像头采集,当前帧深度图像可由深度摄像头采集。深度摄像头可为结构光摄像头、tof摄像头或双目摄像头。在此不对深度摄像头的具体形式进行限定。

请参阅图3,在某些实施方式中,当前帧图像包括彩色图像,步骤s11包括:

步骤s111:对彩色图像进行特征提取,以确定当前二维特征。

如此,实现处理当前帧图像以确定目标点的当前二维特征。具体地,步骤s111包括:利用二维卷积网络对彩色图像进行特征提取,以确定当前二维特征。

在本实施方式中,以二维卷积网络为enet网络为例进行说明。这并不代表对二维卷积网络的限制。

在步骤s111之前,点云处理方法包括:预先对二维卷积网络进行训练。具体地,训练过程可使用scannetv2数据集作为训练集和测试集,每个点被标注为了40个类别之一。在计算损失时,可对不同的类别乘上对应的权重,并归一化。如此,可以解决scannetv2数据类别分布不均衡的问题。进一步地,类别对应的权重可为类别所占比例的负对数。

在本实施方式中,每一个步长随机选取8张图片和对应的语义分割结果作为一个批次进行,可将随机梯度下降(stochasticgradientdescent,sgd)作为优化器,将交叉熵函数做为损失函数以进行训练。初始的学习率为0.01,每隔10个迭代次数变为原来的十分之一,共训练40个迭代次数。其中,1个迭代次数等于使用训练集中的全部样本训练一次。

在步骤s17中,卷积核可基于点云卷积网络构建。在本实施方式中,以点云卷积网络为pointconv网络为例进行说明。这并不代表对点云卷积网络的限制。

类似地,在步骤s17前,点云处理方法包括:预先对点云卷积网络进行训练。具体地,训练过程可使用scannetv2数据集作为训练集和测试集,每个点被标注为了40个类别之一。在计算损失时,可对不同的类别乘上对应的权重,并归一化。如此,可以解决scannetv2数据类别分布不均衡的问题。进一步地,类别对应的权重可为类别所占比例的负对数。

进一步地,点云卷积网络的训练过程中,可采用多场景、连续帧、延迟更新的方式更新网络权重。例如,第一个步长随机选择8个场景的随机一帧作为起始,之后每个步长在上一帧的基础上找到接下来相隔20帧的一帧。每个步长都计算损失并除以8,但不立刻更新权重,当步长为8时,更新权重。之后重复这个流程。

另外,点云卷积网络初始的学习率可设置为0.01,每隔1000步变为原来的十分之一,训练48个小时。此外,点云卷积网络的优化器可为自适应矩估计(adam)优化器,损失函数可为交叉熵函数。

请参阅图4,在某些实施方式中,点云处理方法包括:

步骤s12:处理当前帧图像以构建树结构;

步骤s15包括:

步骤s151:根据当前帧图像确定目标点的三维坐标;

步骤s152:通过树结构确定目标点的邻近点的三维坐标;

步骤s153:根据目标点的三维坐标和邻近点的三维坐标确定距离。

在某些实施方式中,处理器101用于处理当前帧图像以构建树结构;根据当前帧图像确定目标点的三维坐标;通过树结构确定目标点的邻近点的三维坐标;根据目标点的三维坐标和邻近点的三维坐标确定距离。

如此,实现根据当前帧图像确定目标点与目标点的邻近点之间的距离。具体地,树结构包括全局树和局部树。在本实施方式中,以全局树为区间树,局部树为八叉树,为例进行说明。

请参阅图5,在某些实施方式中,步骤s12包括:

步骤s121:根据当前帧图像确定当前帧图像的点云数据;

步骤s122:处理点云数据以构建树结构。

在某些实施方式中,处理器101用于根据当前帧图像确定当前帧图像的点云数据;处理点云数据以构建树结构。

如此,实现处理当前帧图像以构建树结构。具体地,步骤s121包括:根据深度图像和相机矩阵还原出当前帧图像所包含的三维点,记为(x,y,z)。每个三维点都可作为待插入点。

步骤s122包括:根据待插入点在第一区间树、第二区间树和第三区间树上构建节点,以找到节点对应的集合;对待插入点在第一区间树、第二区间树和第三区间树对应的集合的节点取交集,以得到待插入点的邻近点集合;对邻近点集合中的每一个点进行遍历,如果查找到与待插入点的距离小于距离阈值的点,则返回该与待插入点的距离小于距离阈值的点;如果没有查找到与待插入点的距离小于阈值的点,则在八叉树插入该待插入点。

在创建新的邻近点时,可创建字典以记录新的边关系,根据新的边关系更新八叉树的连接关系,并将待插入点插入到更新后的邻近点集合中。

请注意,第一区间树、第二区间树和第三区间树即为三个维度的区间树。

具体地,在区间树中,每个节点是一个区间,用于表示(x_min,x_max)之内的点,并用一个集合来存储区间本身和周围两个区间的点。而一个场景对应着3个维度的区间树,这三个维度对应的区间的交集就是点在空间的临近区域。

换言之,区间树的每一个节点都存储一定范围的三维点,请参阅图6,三维点之间的箭头表示八叉树的连接关系,区间树的每一个节点存储的连接关系的范围大于其自身区间范围。如此,可以通过八叉树的连接关系,延伸到更大范围的区间,从而实现从一个点到另一个点的连接和查找。

请参阅图7,在本实施方式中,可采用如下方式构建区间树:在红黑树的基础上将节点扩展为一个区间范围,使得节点满足:第一节点的最小值(node1_min)<第一节点的最大值(node1_max)<第一节点的父节点的最小值(parent_min)<第一节点的父节点的最大值(parent_max)<第二节点的最小值(node2_min)<第二节点的最大值(node2_max)。如此,可以通过区间树快速地搜索到指定的区间。

在本实施方式中,可采用如下方式将待插入点插入至区间树:获取待插入点的坐标;根据待插入点的坐标遍历区间树;若找到待插入点的坐标所处的区间对应的节点,则返回所述对应的节点;若未找到待插入点的坐标所处的区间对应的节点,则根据待插入点的坐标创建新节点,并返回所述新节点。

具体地,在本实施方式中,待插入点的坐标为三维坐标,每维坐标分别对应一个区间树,可根据对待插入点的每维坐标将待插入点插入至对应的区间树。

在一个例子中,待插入点的坐标为(x,y,z),x维度对应第一区间树,y维度对应第二区间树,z维度对应第三区间树。对于x维度,根据坐标中的x遍历第一区间树,若找到满足x_min<x<m_max的节点,则返回这个节点,退出;若未找到满足x_min<x<m_max的节点,则以x为中心创建一个新节点,再返回该新节点。

对于y维度和z维度的插入,与x维度类似,为避免冗余,在此不再赘述。

在本实施方式中,可采用如下方式根据待插入点在区间树创建新节点:获取待插入点的坐标;获取区间树的默认区间值,根据默认区间值确定半区间值,半区间值为默认区间值的二分之一;创建新节点,使得新节点的最小值为待插入点的坐标与半区间值的差值,并使得新节点的最大值为待插入点的坐标与半区间值的和;找到新节点在区间树的最邻近节点,并将新节点设置为最邻近节点的子节点;确定最邻近节点与新节点之间的距离;若距离大于默认区间值,则返回新节点;若距离小于默认区间值,且新节点的最小值小于最邻近节点的最小值,则将最邻近节点的最小值设为新节点的最大值,并返回新节点;若距离小于默认区间值,且新节点的最小值大于最邻近节点的最小值,则将最邻近节点的最大值设为新节点的最小值,并返回新节点。

例如,插入点的坐标为(x,y,z),对于x维度,在第一区间树创建新节点n,以使min(n)=x-d/2,max(n)=x+d/2,其中d为默认区间值;在第一区间树找到最邻近节点node,并将新节点n设置为最邻近节点node的子节点;计算最邻近节点node和新节点n之间的距离dist;若dist>d,则返回新节点n;若dist<d,且min(n)<min(node),则max(n)=min(node),返回新节点n;若dist<d,且min(n)>min(node),则min(n)=max(node),返回新节点n。或者说,输出的是:包含输入点的第一区间树的节点。

可以理解,创建区间树的新节点,需要考虑新节点的区间和最邻近节点的区间之间的位置关系,即新区间和旧区间之间的位置关系。

上述方法考虑到了下列出现三种情况:第一,如下图8,新区间与旧区间距离较远(>d),可直接添加新节点;第二,如下图9,新区间和旧区间距离较近(<d),则可将新区间范围扩大,以避免产生孔隙;第三,如下图10,新区间和旧区间产生覆盖,可平移新节点。

另外,在本实施方式中,可将默认区间值设置为0.05。当然,默认区间值还可以为其他数值,在此不进行限定。

八叉树的每一个节点记录其空间中八个象限的点。可以理解,一个八叉树的节点,即一个空间节点,以x轴、y轴、z轴划分,能够将空间划分为8个区域。本实施方式中,使用一个3位2进制串,也就是8维的数组,来表示8个区域。

例如,中心点(x,y,z)和待插入点(x1,y1,z1)有如下关系:bool(x1-x>0)=a;bool(y1-y>0)=b;bool(z1-z>0)=c。那么,待插入点对应就在中心点数组的索引index=a×4+b×2+c×1位置,而两点的区间满足7-index=index1的关系。这样就能建立中心点和待插入点互相之间的空间关系。

在本实施方式中,可采用如下方式根据待插入点插入至八叉树:

获取待插入点p(x,y,z)和邻近点集合set;

创建一个边记录关系;例如通过“find_point=fasle,edge_set=set()”进行创建;

遍历邻近点集合set中的每一个元素pi;

如果找到与待插入点的距离小于距离阈值的点,即找到满足dist(p,pi)<h的点,则直接返回该点,也即是find_point=true;如果该点与待插入点的距离小于该方向上待插入定的最近点与待插入点的距离,即若dist(p,pi)<p相同方向的最近点,则在边记录关系中记录新的修改关系,以更新最近点;

如果没有查找到与待插入点的距离小于阈值的点,即find_point为false,则更新edge_set中的边记录关系,并将待插入点插入到八叉树中并返回待插入点。

这样,最后可以输出:待插入点的最近点或者加入到八叉树中的待插入点。

在本实施方式中,最小点距离阈值h=0.04。

另外,请参阅图11,可将待插入点重新插入对应三个维度的区间树中。这样,通过将待插入点插入到更大范围的集合中,可以使八叉树的连接关系能够延伸到更大的范围。在寻找对应点的连接关系时,就可以利用集合与集合之间的交集的点,不断搜索到其他的集合。

请注意,神经网络和树结构的结合,包括以下三个部分:

第一,在二维卷积网络提取到当前帧图像的当前二维特征后,可将当前二维特征做为三维点的属性保留。具体地,可利用二维卷积网络对彩色图像进行特征提取,将3通道的彩色图像提取为128通道的高维特征图。同时将彩色图像对应的深度图像还原为三维点,并将二维特征作为三维点的一个属性存储。然后,将三维点加入到区间树和八叉树中,用于后续的预测。

第二,利用区间树可找到与目标点最近的三维点,以将目标点的特征和最近的三维点的特征进行最大池化增强。具体地,当在区间树和八叉树查找中出现了找到与目标点的距离小于阈值的三维点后,可将两个三维点的特征进行最大池化,并更新二维特征。如此,可利用不同帧的图像对结果进行优化。

第三,利用八叉树可在对目标点进行预测时,找到与其具有连接关系的三维点共同预测。具体地,当需要对目标点预测时,可按照宽度优先搜索找到与目标点最近的8个三维点作为邻近点,分别提取其对应的坐标和二维特征。根据每一个邻近点的坐标与目标点的坐标确定邻近点与目标点的距离,以预测该邻近点对当前三维特征的影响,即距离在卷积核的权重。进一步地,距离越大影响越小,权重越小。另外,可提取每一个邻近点的二维特征,并和距离在卷积核的权重做卷积,得到当前三维特征。

请参阅图12,在某些实施方式中,点云处理方法包括:

步骤s13:获取目标点的结果二维特征,结果二维特征为目标点在当前帧图像的前一帧图像的二维特征;

步骤s14:融合结果二维特征和当前二维特征,以更新当前二维特征;

步骤s17包括:

步骤s171:利用卷积核处理更新后的当前二维特征以得到当前三维特征;

点云处理方法包括:

步骤s18:获取目标点的结果三维特征,结果三维特征为目标点在当前帧图像的前一帧图像的三维特征;

步骤s19:融合结果三维特征和当前三维特征,以更新当前三维特征;

步骤s20包括:

步骤s201:根据更新后的当前三维特征确定当前帧图像的点云分割结果。

在某些实施方式中,处理器101用于获取目标点的结果二维特征,结果二维特征为目标点在当前帧图像的前一帧图像的二维特征;融合结果二维特征和当前二维特征,以更新当前二维特征;利用卷积核处理更新后的当前二维特征以得到当前三维特征;获取目标点的结果三维特征,结果三维特征为目标点在当前帧图像的前一帧图像的三维特征;融合结果三维特征和当前三维特征,以更新当前三维特征;根据更新后的当前三维特征确定当前帧图像的点云分割结果。

如此,可以利用前一帧图像来确定当前三维特征,能够融合不同视角对同一三维点观察到的特征,从而提升分割效果。而且,可以连续地对多帧图像进行处理,在整个扫描序列中,利用前序扫描的结果帮助后续的扫描。

请参阅图13,本实施方式的点云处理方法可分为两个部分,第一个部分用来提取当前二维特征和构建对应的区间树和八叉树。另一部分则是通过三维卷积来预测目标点的语义标签。

在一个例子中,对于第一部分,获取彩色图像(分辨率为240×320),深度图像和相机姿态。彩色图片先通过enet得到对应的二维高维的特征图,再结合深度图和相机姿态还原三维点云(采样4096个点)并开始构建区间树和八叉树。另外,可根据像素与三维点的对应关系,可以得到三维点和对应的三维特征的映射关系,作为三维点的属性。此外,如果在构建区间树和八叉树时,能够找到与目标点的距离小于距离阈值的三维点,则可用最大池化来融合该三维点的二维特征和当前二维特征。

对于第二部分:首先对每个需要预测的目标点(每一帧取4096个)按宽度优先搜索目标点周围的8个节点,以获得以下两种数据:邻近点pi与目标点p0的距离(pi-p0),从而构建距离张量(3,k+1,4096)、邻近点的二维特征张量(128,k+1,4096)。

在获得上述两种数据之后,可以开始利用三维卷积神经网络,即点云卷积网络,进行预测:通过多层感知器(mlp)根据距离张量来预测邻近点的权重张量;和二维特征张量通过点云卷积网络pointconv做卷积,以得到当前三维特征(128,4096);将当前三维特征和前一帧图像的结果三维特征,按维度拼接得到一个(256,4096)的特征,以融合结果三维特征和当前三维特征,从而更新的当前三维特征;更新后的当前三维特征可作为结果特征,用于下一帧图像的预测;同时,将更新后的当前三维特征送入下一层的全连接得到(num_class,4096),其中num_class为语义分割的类别。至此就完成了对4096个点的预测。

请注意,结果三维特征会被保留作为三维点属性,在预测时可取出。如果是当前帧图像为第一帧图像,可直接用全0填充结果三维特征。

本申请实施例还提出一种计算机可读存储介质,计算机可读存储介质上存储有控制程序,控制程序被处理器101执行时实现如上述任一实施方式的点云处理方法。

例如执行:步骤s11:处理当前帧图像以确定目标点的当前二维特征,当前二维特征为目标点在当前帧图像的二维特征;步骤s15:根据当前帧图像确定目标点与目标点的邻近点之间的距离;步骤s16:根据距离预测目标点的卷积核;步骤s17:利用卷积核处理当前二维特征以得到当前三维特征,当前三维特征为目标点在当前帧图像的三维特征;步骤s20:根据当前三维特征确定当前帧图像的点云分割结果。

本申请实施方式的和计算机可读存储介质,通过处理当前帧图像以确定目标点的当前二维特征,并利用由目标点和邻近点之间的距离预测得到的卷积核,处理当前二维特征以得到当前三维特征,从而确定当前帧图像的点云分割结果,可以使得扫描者对点云分割结果及时做出反馈,有利于提高分割效果。

可以理解,三维场景的点云分割在机器视觉领域一直都是一个重要的问题,相关技术一直尝试让计算机或者机器人理解整个场景,来方便进行更多的操作,例如室内导航,机器人抓取等。但现有的点云分割方法大部分都是离线的,直接对已经扫描好的场景进行分割。这使得在扫描过程中扫描者不能立刻得到分割结果,没有办法对分割结果立刻做出反馈。

而本实施方式的点云处理方法,可以可交互地返回分割结果,让扫描者能够不断知道扫描和分割的结果,从而帮助进一步扫描和分割,或者进行更复杂的操作,例如抓取,导航等。

另外,本实施方式的点云处理方法还可以快速地处理输入的深度图像和颜色图像,并构建出区间树和八叉树结构,能够利用三维点之间的连接关系来帮助分割。而且,能够融合不同视角对同一三维点观察的特征,提升分割结果。

此外,在整个扫描序列中,能够前序扫描的结果帮助后续的扫描,并利用神经网络提高预测的的结果。

在本说明书的描述中,参考术语“某些实施方式”、“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1