一种安全帽识别方法及装置与流程

文档序号:17664627发布日期:2019-05-15 22:37阅读:216来源:国知局

本发明涉及深度学习和目标识别技术领域,尤其涉及一种安全帽识别方法及装置。



背景技术:

在日常工作和生活中,都会存在一些安全隐患,可能会危害人类的自身安全的问题。例如当人员在工地上、煤矿中以及在马路上骑摩托等情况下,为保障工作人员的安全,都需要佩戴安全帽。因此在特定场合时,通过对人员是否佩戴安全帽进行识别,可以有效减少社会危害的发生。

现有技术中公开了基于安全帽检测的煤矿井下人员定位与跟踪方法,该方法以安全帽为基础,通过对安全帽检测与跟踪实现对煤矿井下人员的定位与跟踪。结合煤矿实际,井下人员均佩戴安全帽,如果能检测到安全帽的存在,则表明检测到人员目标。上述检测方法采用统计模式识别方法设计分类器,用分类器进行安全帽检测,结合kalman滤波和mean-shift对安全帽进行跟踪。

上述方法只适用于煤矿场景下的人员定位跟踪,是基于安全帽对煤矿井下人员的定位与跟踪,是基于每个人员都佩戴了安全帽进行的检测,而不能判断出工作人员是否有佩戴安全帽,并且该方法采用传统方法进行检测和识别,检测和识别的准确度不高。



技术实现要素:

本发明实施例提供了一种安全帽识别方法及装置,用于对是否佩戴安全帽进行检测。

本发明实施例提供了一种安全帽识别方法,包括:

将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取所述图像的第一特征图,其中,所述第一特征图包括头部区域预测框的位置信息;

根据第一特征图中头部区域预测框的位置信息,以及所述第一特征图与所述图像的映射关系,确定所述图像中包含头部区域的子图像;

将所述子图像输入到预先训练完成的第二卷积神经网络模型中,获取所述子图像中包含的头部区域中是否包含安全帽。

进一步地,所述将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中之前,所述方法还包括:

将所述图像缩放到第一预设大小。

进一步地,所述将所述子图像输入到预先训练完成的第二卷积神经网络模型中之前,所述方法还包括:

将所述包含头部区域的子图像缩放到第二预设大小。

进一步地,预先训练所述第一卷积神经网络模型的过程包括:

获取样本图像,其中所述样本图像中标注了头部区域框的位置信息;

将每个样本图像输入到第一卷积神经网络模型中,根据第一卷积神经网络模型的每个输出,对所述第一卷积神经网络模型进行训练。

进一步地,预先训练所述第二卷积神经网络模型的过程包括:

获取样本图像,其中所述样本图像中标注了该样本图像对应的标签信息,其中所述标签信息包括戴安全帽标签、戴普通帽子标签、戴头盔标签和不戴帽子标签;

将每个样本图像输入到第二卷积神经网络模型中,根据第二卷积神经网络模型的每个输出,对所述第二卷积神经网络模型进行训练。

进一步地,所述第一卷积神经网络模型和第二卷积神经网络模型部分相同。

本发明实施例提供了一种安全帽识别装置,该装置包括:

第一获取模块,用于将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取所述图像的第一特征图,其中,所述第一特征图包括头部区域预测框的位置信息;

确定模块,用于根据第一特征图中头部区域预测框的位置信息,以及所述第一特征图与所述图像的映射关系,确定所述图像中包含头部区域的子图像;

第二获取模块,用于将所述子图像输入到预先训练完成的第二卷积神经网络模型中,获取所述子图像中包含的头部区域中是否包含安全帽。

进一步地,所述装置还包括:

第一缩放模块,用于将所述图像缩放到第一预设大小。

进一步地,所述装置还包括:

第二缩放模块,用于将所述包含头部区域的子图像缩放到第二预设大小。

进一步地,所述装置还包括:

第一训练模块,用于获取样本图像,其中所述样本图像中标注了头部区域框的位置信息;将每个样本图像输入到第一卷积神经网络模型中,根据第一卷积神经网络模型的每个输出,对所述第一卷积神经网络模型进行训练。

进一步地,所述装置还包括:

第二训练模块,用于获取样本图像,其中所述样本图像中标注了该样本图像对应的标签信息,其中所述标签信息包括戴安全帽标签、戴普通帽子标签、戴头盔标签和不戴帽子标签;将每个样本图像输入到第二卷积神经网络模型中,根据第二卷积神经网络模型的每个输出,对所述第二卷积神经网络模型进行训练。

本发明实施例提供一种安全帽识别方法及装置,该方法将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取所述图像的第一特征图,其中,所述第一特征图包括头部区域预测框的位置信息;根据第一特征图中头部区域预测框的位置信息,以及所述第一特征图与所述图像的映射关系,确定所述图像中包含头部区域的子图像;将所述子图像输入到预先训练完成的第二卷积神经网络模型中,获取所述子图像中包含的头部区域中是否包含安全帽。

由于在本发明实施例中,将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取该图像的第一特征图;根据第一特征图中头部区域预测框的位置信息,以及第一特征图与包含待识别人体的图像的映射关系,确定包含头部区域的子图像;针对包含头部区域的子图像进行检测,可以更加准确的确定该人是否佩戴安全帽。将包含头部区域的子图像输入到预先训练完成的第二卷积神经网络模型中,获取子图像中包含的头部区域中是否包含安全帽,在本发明实施例中,首先在图像中确定包含头部区域的子图像,之后在该子图像中识别是否包含安全帽,从而可以准确的判断人是否佩戴安全帽,提高了识别的准确度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1提供的一种安全帽识别方法的流程示意图;

图2为本发明实施例3提供的第一卷积神经网络模型和第二卷积神经网络模型的结构图;

图3为本发明实施例6提供的一种安全帽识别方法的具体流程示意图;

图4为本发明实施例7提供的一种安全帽识别装置结构示意图。

具体实施方式

下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例1:

图1为本发明实施例提供的一种安全帽识别方法的流程示意图,该过程包括以下步骤:

s101:将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取所述图像的第一特征图,其中,所述第一特征图包括头部区域预测框的位置信息。

由于安全帽的主要功能是保护人类的头部安全,安全帽只有佩戴在头部才能保护人类的头部安全。因此在对图像中的安全帽进行识别之前,首先需要对包含待识别人体的图像中的头部区域进行检测,得到包含头部区域的子图像。根据检测操作后得到的包含头部区域的子图像进行识别操作,确定人是否有佩戴安全帽。

将包含待识别人体的图像输入到第一卷积神经网络模型中,经过若干层的卷积和池化操作最终得到包含待识别人体的图像的第一特征图,而该第一特征图中包含头部区域预测框的位置信息。该头部区域预测框的位置信息用于确定图像中包含头部区域的子图像。针对包含头部区域的子图像进行后续的识别操作,得到的结果更加准确。

s102:根据第一特征图中头部区域预测框的位置信息,以及所述第一特征图与所述图像的映射关系,确定所述图像中包含头部区域的子图像。

第一特征图中包含的头部区域预测框的位置信息,具体可以为头部区域预测框的坐标信息,因为第一特征图与输入的该图像之间具有映射关系,这是因为输入的图像大小和输出的第一特征图的大小是固定的,因此当已知了第一特征图中的坐标信息后,可以根据该第一特征图中的坐标信息确定图像中的对应的坐标信息,根据该图像中的坐标信息即可确定图像中包含头部区域的子图像。

上述过程得到第一特征图后,根据第一特征图中的头部区域预测框的位置信息,确定包含待识别人体的图像的包含头部区域的子图像。具体确定方法为,根据第一特征图与包含待识别人体的图像的映射关系,得到包含头部区域的子图像。

s103:将所述子图像输入到预先训练完成的第二卷积神经网络模型中,获取所述子图像中包含的头部区域中是否包含安全帽。

针对包含头部区域的子图像进行安全帽的识别,识别结果更加准确合理,可以确定人是否将安全帽佩戴在头上,而不是在手中拿着,或者是放在图像中的某一处区域。

将包含头部区域的子图像输入到第二卷积神经网络模型中,经过若干层的卷积和池化操作,并且最后经过全连接层,最终确定包含头部区域的子图像中是否包含安全帽。

在本发明实施例中,首先将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取该图像的第一特征图;根据第一特征图中头部区域预测框的位置信息,以及第一特征图与包含待识别人体的图像的映射关系,确定包含头部区域的子图像;针对包含头部区域的子图像进行检测,可以更加准确的确定该人是否佩戴安全帽。将包含头部区域的子图像输入到预先训练完成的第二卷积神经网络模型中,获取子图像中包含的头部区域中是否包含安全帽。在本发明实施例中,首先在图像中确定包含头部区域的子图像,之后在该子图像中识别是否包含安全帽,从而可以准确的判断人是否佩戴安全帽,提高了识别的准确度。

实施例2:

为了对包含待识别人体的图像更加准确的确定头部区域的位置,在上述实施例的基础上,在本发明实施例中,所述将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中之前,所述方法还包括:

将所述图像缩放到第一预设大小。

由于一个卷积神经网络模型在处理不同尺寸大小的图像时,得到的结果也会有差异,因此为了更加准确的确定待识别人体的图像的头部区域位置信息,在对该图像进行检测之前,首先将包含待识别人体的图像缩放到固定的第一预设的大小。

可能的一种实施方法,在将包含待识别人体的图像输入到第一卷积神经网络模型之前,对该图像进行crop操作或者warp操作,将该图像缩放到第一预设大小,该第一预设大小为预先设定的,在对第一卷积神经网络模型进行训练时,也会将样本图像缩放到该第一预设的大小,该第一预设大小可以为任意值。例如,将包含待识别人体的图像经过crop操作或者warp操作,缩放到104*104大小的图像。

实施例3:

为了更加准确的判断包含头部区域的子图像的分类结果,在上述各实施例的基础上,在本发明实施例中,所述将所述子图像输入到预先训练完成的第二卷积神经网络模型中之前,所述方法还包括:

将所述包含头部区域的子图像缩放到第二预设大小。

由于一个卷积神经网络模型在处理不同尺寸大小的图像时,得到的结果也会有差异,因此为了更加准确的判断包含头部区域的子图像的分类结果,在对该图像进行识别之前,首先将包含头部区域的子图像缩放到固定的第二预设的大小。

可能的一种实施方法,在将包含头部区域的子图像输入到第二卷积神经网络模型之前,对该子图像进行crop操作或者warp操作,将该子图像缩放到第二预设大小,该第二预设大小为预先设定的,在对第二卷积神经网络模型进行训练时,也会将样本图像缩放到该第二预设的大小,该第二预设大小可以为任意值,第二预设大小一般小于第一预设大小。例如,将包含头部区域的子图像经过crop操作或者warp操作,缩放到64*64大小的图像。

例如,图2为上述的第一卷积神经网络模型和第二卷积神经网络模型的结构图,其中左(图中所示左右)分支为第一卷积神经网络模型的执行过程,该左分支网络用于头部区域部分的检测。右(图中所示左右)分支为第二卷积神经网络模型的执行过程,该右分支网络用于头部区域的分类,用来判断头部区域是否有佩戴安全帽。其中过程α只包括若干个卷积层和池化层,左分支网络和右分支网络共享过程α中的卷积核的参数,过程β为卷积层,过程γ为全连接层。

具体的,将图像a缩放为第一设定大小,例如该第一设定大小可以为104*104,将缩放后的图像a输入到左分支网络,分别经过过程α和过程β后,得到第一特征图,该第一特征图的大小为13*13*35,其中,该第一特征图中包含头部区域预测框的位置信息,该位置信息用于求出包含头部区域的子图像b。得到包含头部区域的子图像b后,将该子图像b缩放到第二预设大小,例如该第二预设大小可以为64*64,将缩放后的子图像b输入到右分支网络,分别经过过程α和过程γ后,得到第二特征图,其中第二特征图的大小为1*1*4,该第二特征图用于输出属于戴安全帽、戴普通帽子、戴头盔以及不戴帽子的标签及置信度,置信度最高对应的标签即为该图像的分类结果。

在具体实施中,过程α的具体操作过程如表1所示,其中conv1、conv2、conv3、conv4、conv5、conv6代表卷积操作,其卷积核的大小分别设定为3*3、3*3、1*1、3*3、3*3、1*1。pool1、pool2、pool3均代表池化操作,其卷积核大小均设定为2*2。inner为全连接层,stride代表在做卷积操作时相邻卷积核之间的距离,padding代表在进行卷积时需要对图像进行填充的像素数,a为第一卷积神经网络模型输入的图像,b为第二卷积神经网络模型输入的图像。

图像a的大小为104*104,经过第一层卷积操作后得到16个104*104的特征图1,将该特征图1经过第一层池化操作后得到16个52*52的特征图2,将该特征图2经过第二层卷积操作后得到64个52*52的特征图3,依次类推,当经过第六层卷积操作后最终得到35个13*13的第一特征图,其中第六层卷积的目的是为了降低特征的维度,维度即通道数,经过一个1*1的卷积使128维的特征图降低到了35维。

图像b的大小为64*64,经过若干层卷积和池化层操作后,当经过第三层池化pool3操作后,得到128个8*8的特征图,通过连接一个全连接层最终得到4个1*1的特征图。4个1*1的特征图即为4个置信度,分别对应属于戴安全帽、戴头盔、戴普通帽子以及不戴帽子的置信度。置信度最高对应的标签即为头部区域的识别结果,根据置信度得到人是否佩戴安全帽。

表1

实施例4:

为了对包含待识别人体的图像进行头部区域检测,因此在对其进行检测之前还包括预训练过程,在上述各实施例的基础上,在本发明实施例中,预先训练所述第一卷积神经网络模型的过程包括:

获取样本图像,其中所述样本图像中标注了头部区域框的位置信息;

将每个样本图像输入到第一卷积神经网络模型中,根据第一卷积神经网络模型的每个输出,对所述第一卷积神经网络模型进行训练。

由于该第一卷积神经网络模型的目的是为了检测待识别图像中的人的头部区域,将待识别的图像输入到该第一卷积神经网络模型中是为了得到该图像中头部区域的位置信息。因此在对该第一卷积神经网络模型进行训练之前,首先需要对图像进行标注,获取样本图像。具体的,在每个样本图像中标注了头部区域的位置信息。

具体的,在对该第一卷积神经网络模型进行训练之前,选择yolo作为该第一卷积神经网络模型的损失函数。具体的,yolo损失函数的计算方法如下式所示:其中,x、y为预测框的中心坐标值,w、h分别为预测框的宽度和高度,c为类别,p(c)为对应某类的概率值。

具体实施中,每次输入一定数量的批量样本图像,采用前向传播、反向传播和权重更新等步骤对模型的参数进行更新。具体的训练过程:网络进行权值的初始化;输入样本图像经过卷积层、池化层的向前传播得到输出值;求出网络的输出值与目标值之间的误差;当误差大于我们得期望时,将误差传回网络中,依次求出各层的误差。各层的误差可以理解为对于网络的总误差,网络应承担多少;当误差等于或小于期望值时,训练结束;根据求得误差进行权值更新。不断输入批量样本图像重复以上步骤,不断调整参数,修正网络输出与期望值的误差,最后获得最优化的网络参数,即训练完成的第一卷积神经网络模型。

实施例5:

为了对包含头部区域的子图像进行识别,因此在对其进行识别之前还包括预训练过程,在上述各实施例的基础上,在本发明实施例中,预先训练所述第二卷积神经网络模型的过程包括:

获取样本图像,其中所述样本图像中标注了该样本图像对应的标签信息,其中所述标签信息包括戴安全帽标签、戴普通帽子标签、戴头盔标签和不戴帽子标签;

将每个样本图像输入到第二卷积神经网络模型中,根据第二卷积神经网络模型的每个输出,对所述第二卷积神经网络模型进行训练。

由于该第二卷积神经网络模型的目的是为了对包含头部区域的子图像实现分类,将包含头部区域的子图像输入到该第二卷积神经网络模型中是为了得到该图像的分类结果。因此在对该第二卷积神经网络模型进行训练之前,首先需要对图像进行标志,获取样本图像。具体的,在每个样本图像中标注了该图像的分类标签,其中,共包含4中标签,分别是戴安全帽标签、戴普通帽子标签、戴头盔标签和不戴帽子标签。具体的,在对该第二卷积神经网络模型进行训练之前,选择softmaxloss作为该第二卷积神经网络模型的损失函数。具体的,softmax损失函数的计算方法如下式所示:其中,l是损失,sj是softmax的输出向量s的第j个值,t为类别数,y是一个1*t的向量。

具体实施中,每次输入一定数量的批量样本图像,采用前向传播、反向传播和权重更新等步骤对模型的参数进行更新。具体的训练过程:网络进行权值的初始化;输入样本图像经过卷积层、池化层的向前传播得到输出值;求出网络的输出值与目标值之间的误差;当误差大于我们得期望时,将误差传回网络中,依次求出各层的误差。各层的误差可以理解为对于网络的总误差,网络应承担多少;当误差等于或小于期望值时,训练结束;根据求得误差进行权值更新。不断输入批量样本图像重复以上步骤,不断调整参数,修正网络输出与期望值的误差,最后获得最优化的网络参数,即训练完成的第二卷积神经网络模型。

实施例6:

为了节省识别分类结果的耗时,提高分类和识别的准确率,在上述各实施例的基础上,在本发明实施例中,所述第一卷积神经网络模型和第二卷积神经网络模型部分相同。

本发明实施例在保证识别效果的前提下,为了节省识别分类结果的耗时,在对包含待识别人体的图像进行头部区域的检测的基础上,又对头部区域的子图像进行分类识别操作。即第一卷积神经网络模型和第二卷积神经网络模型共用网络结构和共享卷积核的参数。

在具体实施中,当采用上述方法对第一卷积神经网络模型训练完成后,第二卷积神经网络模型使用训练完成的第一卷积神经网络模型的网络结构和卷积核参数。将第一卷积神经网络模型的最后一层卷积层和损失层替换为一个全连接层和softmax损失函数即可。无需进行第二卷积神经网络模型的训练,节省识别的耗时。

现以一个具体的实施例对一种安全帽识别方法的具体流程进行详细说明,如图3所示,该过程包括特征提取过程和安全帽佩戴识别过程。首先从包含待识别人体的图像中提取人体的区域缩放到104*104,将经过缩放后的图像输入到图2中的网络n的左分支,通过图2中的α过程和β过程,得到13*13*35的特征图,该特征图包含头部区域预测框的位置信息,通过特征图与原图的映射关系得到在原图中的坐标,然后从人体的图像中取出预测得到的头部区域图像。将该头部区域图像缩放到64*64输入到图2中的网络n的右分支,通过图2中的α过程和γ过程,得到属于戴安全帽、戴头盔、戴普通帽子以及不戴帽子的置信度,置信度最高的对应的标签即为头部区域的识别结果,根据置信度得到人是否佩戴安全帽。

实施例7:

图4为本发明实施例提供的一种安全帽识别装置,该装置包括:

第一获取模块401,用于将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取所述图像的第一特征图,其中,所述第一特征图包括头部区域预测框的位置信息;

确定模块402,用于根据第一特征图中头部区域预测框的位置信息,以及所述第一特征图与所述图像的映射关系,确定所述图像中包含头部区域的子图像;

第二获取模块403,用于将所述子图像输入到预先训练完成的第二卷积神经网络模型中,获取所述子图像中包含的头部区域中是否包含安全帽。

所述装置还包括:

第一缩放模块404,用于将所述图像缩放到第一预设大小。

所述装置还包括:

第二缩放模块405,用于将所述包含头部区域的子图像缩放到第二预设大小。

所述装置还包括:

第一训练模块406,用于获取样本图像,其中所述样本图像中标注了头部区域预测框的位置信息;将每个样本图像输入到第一卷积神经网络模型中,根据第一卷积神经网络模型的每个输出,对所述第一卷积神经网络模型进行训练。

所述装置还包括:

第二训练模块407,用于获取样本图像,其中所述样本图像中标注了该样本图像对应的标签信息,其中所述标签信息包括戴安全帽标签、戴普通帽子标签、戴头盔标签和不戴头盔标签;将每个样本图像输入到第二卷积神经网络模型中,根据第二卷积神经网络模型的每个输出,对所述第二卷积神经网络模型进行训练。

综上所述,本发明实施例提供一种安全帽识别方法及装置,包括:将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取所述图像的第一特征图,其中,所述第一特征图包括头部区域预测框的位置信息;根据第一特征图中头部区域预测框的位置信息,以及所述第一特征图与所述图像的映射关系,确定所述图像中包含头部区域的子图像;将所述子图像输入到预先训练完成的第二卷积神经网络模型中,获取所述子图像中包含的头部区域中是否包含安全帽。

由于在本发明实施例中,将包含待识别人体的图像输入到预先训练完成的第一卷积神经网络模型中,获取该图像的第一特征图;根据第一特征图中头部区域预测框的位置信息,以及第一特征图与包含待识别人体的图像的映射关系,确定包含头部区域的子图像;针对包含头部区域的子图像进行检测,可以更加准确的确定该人是否佩戴安全帽。将包含头部区域的子图像输入到预先训练完成的第二卷积神经网络模型中,获取子图像中包含的头部区域中是否包含安全帽,在本发明实施例中,首先在图像中确定包含头部区域的子图像,之后在该子图像中识别是否包含安全帽,从而可以准确的判断人是否佩戴安全帽,提高了识别的准确度。

上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd)等。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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