单目立体视觉测量系统位置姿态校准方法、装置、系统与流程

文档序号:31442702发布日期:2022-09-07 11:11阅读:169来源:国知局
单目立体视觉测量系统位置姿态校准方法、装置、系统与流程

1.本发明涉及视觉测量以及图像检测技术领域,特别是涉及一种单目立体视觉测量系统位置姿态校准方法、装置、测量被测目标的方法、自校准的测量系统。


背景技术:

2.视觉测量是以计算机视觉为理论,采用先进的高密度、低噪声和畸变小的图像传感器,通过高速实时图像采集系统,专用图像硬件处理系统以及高性能计算机完成对二值或灰度图像的有效处理的先进统。通常采用多台相机对被测目标进行拍摄进而测量被测目标。
3.单目立体视觉测量系统采用一个相机,将一个相机运动至多个位置拍摄被测目标,形成对被测目标的多视角观测结果,再结合各时刻相机的位置和姿态,可计算出被测目标的三维坐标。单目立体视觉测量系统各时刻相机的位置姿态精度对单目立体视觉测量结果的精度至关重要。微小的相机间的相对姿态误差都会引起很大的立体视觉测量误差。
4.为了减小相对位置姿态的误差,现有技术通常的做法有:第一种,在相机上固连位姿传感器,使用过程中实时读出其位姿变化量进行补偿;采用固连传感器增加负荷,高精度位姿传感器成本高,惯导为代表的姿态传感器普遍存在时间积累误差、长时间应用精度低的问题。第二种,在测量视场中布设坐标精确已知的控制点靶标,在测量同时标定相机实时参数;然而测量视场中可能没有布设控制点的条件,如小测量视场中被测目标占满视场的情况,或者如基于运动测量平台时测量视场不断变换的情况。可见,现有技术使用场合局限。
5.因此,亟需开发一种单目立体视觉测量系统位置姿态校准方法、装置、测量被测目标的方法、自校准的测量系统,能够在保证测量同一相机运动至不同位置的相对位置姿态精度的同时不局限于各种应用场合。


技术实现要素:

6.本发明的目的是提供一种单目立体视觉测量系统位置姿态校准方法、装置、测量被测目标的方法、自校准的测量系统,能够在保证测量同一相机运动至不同位置的相对位置姿态精度的同时不局限于各种应用场合。
7.为解决上述技术问题,作为本发明的一个方面,提供了一种单目立体视觉测量系统对位置姿态校准方法,包括以下步骤:s1:单目立体视觉测量系统用于拍摄被测目标,单目立体视觉测量系统包括一台相机,该相机运动至2个以上运动位置拍摄被测目标;2个以上运动位置包括:基准运动位置和相对运动位置,基准运动位置为一个,其余为相对运动位置;向被测目标投射3个以上亮点,3个以上亮点均在该相机的拍摄范围内;s2:该相机运动至2个以上运动位置,分别拍摄带有3个以上亮点的被测目标图像,提取被测目标图像中3个以上亮点对应的像点,分别将在相对运动位置拍摄的像点与在基
准运动位置拍摄的像点进行同名像点匹配;s3:计算相机在各个运动位置拍摄的像点的归一化图像坐标;s4:根据同名像点以及各个运动位置拍摄的像点的归一化图像坐标分别求解出运动至基准运动位置时的相机与运动至相对运动位置时的相机相对位置姿态。
8.根据本发明一示例实施方式,步骤s3中,所述计算相机在各个运动位置拍摄的像点的归一化图像坐标的方法包括:根据相机的内参计算出像点的归一化图像坐标;所述相机的内参包括主点坐标、等效焦距;相机在基准运动位置拍摄的像点归一化图像坐标为:;相机在相对运动位置拍摄的像点归一化图像坐标为:;其中,相机的主点坐标为(c
x
, cy),相机的等效焦距为(f
x
, fy),j=1,2,...,m-1;i=0,1,...,n-1;m为相机运动位置的数量,n为亮点的数量。
9.根据本发明一示例实施方式,步骤s4中,所述根据同名像点以及各个运动位置拍摄的像点的归一化图像坐标分别求解出运动至基准运动位置时的相机与运动至相对运动位置时的相机相对位置姿态的方法包括:设定相机相对位置姿态的初值;根据基准运动位置和相对运动位置的关系建立相对位置姿态方程;根据所有同名像点列出相对位置姿态方程;根据初值及列出的相对位置姿态方程求解相对姿态方程,得到修正值。
10.根据本发明一示例实施方式,所述根据同名像点以及各个运动位置拍摄的像点的归一化图像坐标分别求解出运动至基准运动位置时的相机与运动至相对运动位置时的相机相对位置姿态的方法还包括:得到修正值后,将修正值作为新的初值继续求解出新的修正值;重复迭代初值并求解出新的修正值,直到重复迭代初值至指定次数和/或前后两次更新的初值计算的误差小于指定阈值、或测量被测目标结束。
11.根据本发明一示例实施方式,所述相对姿态方程为:;
相机在基准运动位置和相对运动位置的相对位置姿态包括平移向量和/或旋转角;其中,平移向量为,旋转矩阵为,旋转角为,旋转矩阵是旋转角的三角函数组合;x、y、z为相互垂直的轴,t
xj
、t
yj
、t
zj
表示相机在三个轴方向的移动长度,a
zj
、a
yj
、a
xj
为相机依次绕z、y、x三个轴旋转的角度,r
0j
=cosa
yj
×
cosa
zj
、r
1j
=sina
xj
×
sina
yj
×
cosa
zj-cosa
xj
×
sina
zj
、r
2j
=cosa
xj
×
sina
yj
×
cosa
zj
+sina
xj
×
sina
xzj
、r
3j
=cosa
yj
×
sina
zj
、r
4j
=sina
xj
×
sina
yj
×
sina
zj
+cosa
xj
×
cosa
zj
、r
5j
=cosa
xj
×
sina
yj
×
sina
zj-sina
xj
×
cosa
zj
、r
6j
=-sina
yj
、r
7j
=sina
xj
×
cosa
yj
、r
8j
=cosa
xj
×
cosa
yj

12.根据本发明一示例实施方式,所述根据初值及列出的相对位置姿态方程求解相对姿态方程的方法包括:采用非线性优化法在初值处将对平移向量和/或旋转角求偏导;对进行泰勒展开,得到关于平移向量和/或旋转角的修正量的线性方程组;对该线性方程组进行最小二乘法求解,得到修正量;根据修正量对平移向量和/或旋转角进行修正,得到修正值。
13.非线性优化法包括牛顿迭代法。
14.作为本发明的第二个方面,提供了一种测量被测目标的方法,采用所述单目立体视觉测量系统位置姿态校准方法校准单目立体视觉测量系统的相机;使用相机对被测目标进行测量。
15.根据本发明一示例实施方式,所述使用相机对被测目标进行测量的方法包括:根据相机在各个运动位置的相对位置姿态、相机在各个运动位置拍摄的被测目标解算出被测目标的三维坐标。
16.作为本发明的第三个方面,提供了一种单目立体视觉测量系统位置姿态校准装置,包括:散布亮点照射器,可向被测目标照射3个以上亮点的照射器;同名像点匹配模块,用于提取被测目标图像中3个以上亮点对应的像点,分别将在相对运动位置拍摄的像点与在基准运动位置拍摄的像点进行同名像点匹配;图像坐标计算模块,用于计算相机在各个运动位置拍摄的像点的归一化图像坐标;相对位置姿态计算模块,用于根据同名像点以及各个运动位置拍摄的像点的归一化图像坐标分别求解出运动至基准运动位置时的相机与运动至相对运动位置时的相机相对位置姿态;其中,所述单目立体视觉测量系统用于拍摄被测目标,单目立体视觉测量系统包括一台相机,该相机运动至2个以上运动位置拍摄被测目标;2个以上运动位置包括:基准运
动位置和相对运动位置,基准运动位置为一个,其余为相对运动位置。
17.根据本发明一示例实施方式,所述散布亮点照射器为激光器。
18.作为本发明第四个方面,提供一种自校准的测量系统,包括:所述的单目立体视觉测量系统位置姿态校准装置及单目立体视觉测量系统。
19.根据本发明一示例实施方式,该单目立体视觉测量系统根据相对位置姿态校准相机在各个运动位置的位置和姿态。
20.根据本发明一示例实施方式,该单目立体视觉测量系统还根据相机在各个运动位置的相对位置姿态、相机在各个运动位置拍摄的被测目标解算出被测目标的三维坐标。
21.本发明的有益效果是:本方案采用在被测目标上照射亮点的方式校准相机,可以适应被测目标表面没有稳定纹理、环境光照条件差的情况,同时散布亮点的设备简易,在制备、安装和使用过程中没有结构稳定性和精度要求,适应范围广;可以对单目立体视觉相机相对位置姿态参数进行实时校准,在单目立体视觉测量系统参数扰动、变化等情况下,保证单目立体视觉测量的精度,同时亮点因为布设在被测目标上,采用随同单目立体视觉测量系统主动照射被测目标区域获取特征点的方式,适应测量场景运动变化、被测目标的区域无法布设标定靶点等情况。
附图说明
22.图1示意性示出了单目立体视觉测量系统位置姿态校准装置的结构图。
23.图2示意性示出了单目立体视觉测量系统位置姿态校准时的位置关系图。
24.图3示意性示出了相机的成像示意图。
25.其中,1—被测目标,2—散布亮点照射器,3—相机,c0—基准运动位置,cj—相对运动位置。
具体实施方式
26.以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
27.作为本发明的第一个实施方式,提供一种单目立体视觉测量系统位置姿态校准装置,如图1所示,包括:散布亮点照射器、同名像点匹配模块、图像坐标计算模块和相对位置姿态计算模块。
28.散布亮点照射器可向被测目标照射3个以上亮点的照射器。散布亮点照射器采用激光器。
29.同名像点匹配模块与相机3连接,用于提取被测目标图像中3个以上亮点对应的像点,分别将在相对运动位置拍摄的像点与在基准运动位置拍摄的像点进行同名像点匹配。
30.图像坐标计算模块与相机3连接,用于计算相机在各个运动位置拍摄的像点的归一化图像坐标。
31.相对位置姿态计算模块与同名像点匹配模块、图像坐标计算模块连接,用于根据同名像点以及各个运动位置拍摄的像点的归一化图像坐标分别求解出运动至基准运动位置时的相机与运动至相对运动时的相机相对位置姿态。
32.其中,单目立体视觉测量系统用于拍摄被测目标,单目立体视觉测量系统包括一台相机,该相机运动至2个以上运动位置拍摄被测目标;2个以上运动位置包括:基准运动位置和相对运动位置,基准运动位置为一个,其余为相对运动位置。基准运动位置可以为相机依次运动的位置中的其中一个,不一定为第一个或最后一个。
33.采用本方案的装置,可以实时求解出相机在基准运动位置与相机在相对运动位置时的相对位置姿态,精确度高。
34.作为本发明的第二个实施方式,提供一种单目立体视觉测量系统位置姿态校准方法,采用第一个实施方式的装置实现。如图2所示,单目立体视觉测量系统用于拍摄被测目标1,单目立体视觉测量系统包括一台相机3,该相机3运动至2个以上运动位置拍摄被测目标。2个以上运动位置包括:基准运动位置和相对运动位置,基准运动位置为一个,其余为相对运动位置。基准运动位置可以为相机依次运动的位置中的其中一个,不一定为第一个或最后一个。通过相机3拍摄的被测目标1,可以获得每一个相对运动位置cj上的相机3与基准运动位置c0上的相机3的相对位置姿态,进而可以对相机3的相对位置姿态进行校准,校准后通过每个运动位置拍摄的被测目标1,解算出被测目标1的三维坐标。图2中运动位置为2个,以相机3在基准运动位置c0为基准,分别计算相机3在相对运动位置cj与在基准运动位置c0的相对位置姿态,运动位置的数量可以为3、4、5、...、10或更多,增加一个相对运动位置cj的数量就多计算一个相机3在相对运动位置cj与在基准运动位置c0的相对位置姿态,不影响本发明要保护的方案。相对运动位置cj表示第j个相对运动位置。
35.在校准前,由于相机3的内参是不变的,相机3的内参已经经过标定。相机3的内参包括主点坐标和等效焦距。如图3所示,可知晓相机3拍摄亮点的成像原理。相机光心的真实地理位置坐标为(x0,y0,z0),在相机成像的光心坐标即主点坐标为(xc,yc)。相机成像的像面的像元尺寸为(d
x
,dy),相机焦距为f,在x方向上的等效焦距f
x
=f/d
x
,在y方向上的等效焦距fy=f/dy,等效焦距即x轴和y轴上的归一化焦距。在图3中,亮点的真实地理位置坐标为(x,y,z),光心和亮点连成一条直线,在相机的像面上即显示出像点(x,y)。
36.单目立体视觉测量系统位置姿态校准方法包括以下步骤:s1:散布亮点照射器2向被测目标1投射3个以上亮点,3个以上亮点均在相机3的拍摄范围(测量视场)内。亮点的数量根据最终需要求解的相对位置姿态的参数数量而定,亮点的数量要大于或等于相对位置姿态的参数数量,才能够求解出方程。3个以上亮点尽量分布均匀。各亮点的照射角度、散布亮点照射器2与相机3之间的关系不需要已知或标定,不需要保持各亮点照射角度相互关系,也不需要保持散布亮点照射器2与相机3之间的相对关系。
37.s2:相机3运动至2个以上运动位置,分别拍摄带有3个以上亮点的被测目标1图像,同名像点匹配模块提取被测目标1图像中3个以上亮点对应的像点,分别将在相对运动位置cj拍摄的像点与在基准运动位置c0拍摄的像点进行同名像点匹配。
38.散布亮点照射器2照射出3个以上亮点,分别是亮点0、亮点1、亮点2、....、亮点n-1,n为亮点的数量。n个亮点在被测目标1图像中对应的像点分别是像点0、像点1、像点2、...、像点n-1。将在相对运动位置cj拍摄的像点0与在基准运动位置c0拍摄的像点0进行匹配,将在相对运动位置cj拍摄的像点1与在基准运动位置c0拍摄的像点1进行匹配,...,以此类推,将在相对运动位置cj拍摄的像点n-1与在基准运动位置c0拍摄的像点n-1进行匹配。在
基准运动位置c0拍摄的像点i与在相对运动位置cj拍摄的像点i为同名像点。在基准运动位置c0拍摄的像点i的坐标为(x
0,i
, y
0,i
),在相对运动位置cj拍摄的像点i的坐标为(x
j,i
, y
j,i
),i=0,1,...,n-1。
39.s3:计算相机在各个运动位置拍摄的像点的归一化图像坐标。
40.根据相机3的内参计算出像点的归一化图像坐标。
41.相机3在基准运动位置c0拍摄的像点i归一化图像坐标为:;相机3在相对运动位置cj拍摄的像点i归一化图像坐标为:;其中,相机3的主点坐标为(c
x
, cy),相机3的等效焦距为(f
x
, fy),j=1,2,...,m-1;i=0,1,...,n-1;m为相机3运动位置的数量,n为亮点的数量。
42.像点在像面上的坐标可以求出其x和y的坐标,如图3所示,像点在亮点和光心的连线上,只要亮点在这条线上均会在图像上呈现同一位置的像点,因此像点的z坐标未知,需要将像点的z设置为1,对像点坐标进行归一化。归一化图像的坐标值从上到下表示x、y、z归一化之后的数值。
43.s4:根据同名像点以及各个运动位置拍摄的像点的归一化图像坐标分别求解出运动至基准运动位置c0时的相机3与运动至相对运动位置cj时的相机3相对位置姿态。
44.相机3在基准运动位置c0与在一个相对运动位置cj的相对位置姿态的计算方法相同,以一个相对运动位置cj与基准运动位置c0相对位置姿态的计算为例。
45.相机3在相对运动位置cj和基准运动位置c0相对位置姿态包括平移向量和/或旋转角。
46.平移向量为,旋转矩阵为,旋转角为,旋转矩阵是旋转角的三角函数组合。旋转矩阵各元素是相对运动位置cj相对于的基准运动位置c0旋转角a
xj
,a
yj
,a
zj
的三角函数组合;x、y、z为相互垂直的轴,t
xj
、t
yj
、t
zj
表示相机在三个轴方向的移动长度,a
zj
、a
yj
、a
xj
为相机依次绕z、y、x三个轴旋转的角度,r
0j
=cosa
yj
×
cosa
zj
、r
1j
=sina
xj
×
sina
yj
×
cosa
zj-cosa
xj
×
sina
zj
、r
2j
=cosa
xj
×
sina
yj
×
cosa
zj
+sina
xj
×
sina
xzj
、r
3j
=cosa
yj
×
sina
zj
、r
4j
=sina
xj
×
sina
yj
×
sina
zj
+cosa
xj
×
cosa
zj
、r
5j
=cosa
xj
×
sina
yj
×
sina
zj-sina
xj
×
cosa
zj
、r
6j
=-sina
yj
、r
7j
=sina
xj
×
cosa
yj
、r
8j
=cosa
xj
×
cosa
yj

47.平移向量为三个参数,分别是t
xj
,t
yj
,t
zj
;旋转角为三个参数,分别是a
xj
,a
yj
,a
zj
。如果平移向量已知,只需要求解旋转角的三个参数,亮点的个数n大于或等于3;如果旋转角已知,只需要求解平移向量的三个参数,亮点的个数n大于或等于3,由于很难获取到高精度的姿态数据,旋转角已知的情况较为少见。如果平移向量和旋转角均未知,则需要求解六个参数,亮点的个数大于或等于6。亮点的数量越多,求解方程组越多,获得的数值越精确,但是计算量也越大,一般要求亮点在视场内均匀分布,数量为几十个或数百个。因此,亮点的个数n在20-999为最佳。
48.s401:设定相机相对位置姿态的初值。位置的初值可以设置为0或设置为接近实际相对位置数值的数据。姿态的初值为3
×
3单位矩阵。
49.s402:根据基准运动位置c0和相对运动位置cj的关系建立相对位置姿态方程。
50.根据立体视觉成像关系:;该式为关于t
xj
,t
yj
,t
zj
,a
xj
,a
yj
,a
zj
的方程,转换为相对姿态方程。
51.相机3在第j个相对运动位置cj与基准运动位置c0的相对姿态方程为:。
52.s403:根据所有同名像点列出相对位置姿态方程。
53.列出同名像点0的相对位置姿态方程,列出同名像点1的相对位置姿态方程,...,以此类推,列出同名像点n-1的相对位置姿态方程。
54.s404:根据初值及列出的相对位置姿态方程求解相对姿态方程,得到修正值。
55.根据初值及列出的相对位置姿态方程求解相对姿态方程的方法包括:采用非线性优化法在初值处将对平移向量和/或旋转角求偏导;对进行泰勒展开,得到关于平移向量和/或旋转角的修正量的线性方程组;对该线性方程组进行最小二乘法求解,得到修正量;根据修正量对平移向量和/或旋转角进行修正,得到修正值。
56.非线性优化法包括梯度下降法、牛顿迭代法、高斯牛顿法、列文伯格-马夸尔特方法、dog-leg方法等。优选牛顿迭代法。
57.梯度下降法采用对目标函数进行一阶泰勒近似的方法。
58.牛顿迭代法对目标函数二阶泰勒近似,需要计算hessain矩阵。
59.高斯牛顿法采用j
t
j近似hessain矩阵。
60.列文伯格-马夸尔特方法综合梯度下降法和高斯牛顿法,为保证近似的hessain矩
阵正定,在j
t
j上加入阻尼项。
61.具体的有以下三种情况:第一种情况,如果修正平移向量和旋转角,t
xj
,t
yj
,t
zj
,a
xj
,a
yj
,a
zj
均为未知:采用非线性优化法在初值处将对平移向量t
xj
,t
yj
,t
zj
和旋转角a
xj
,a
yj
,a
zj
求偏导;对进行泰勒展开,得到关于平移向量t
xj
,t
yj
,t
zj
和旋转角a
xj
,a
yj
,a
zj
的修正量dt
xj
,dt
yj
,dt
zj
,da
xj
,da
yj
,da
zj
的线性方程组;对该线性方程组进行最小二乘法求解,得到修正量dt
xj
,dt
yj
,dt
zj
,da
xj
,da
yj
,da
zj
;根据修正量dt
xj
,dt
yj
,dt
zj
,da
xj
,da
yj
,da
zj
对平移向量t
xj
,t
yj
,t
zj
和旋转角a
xj
,a
yj
,a
zj
进行修正:,得到修正值。
62.第二种情况,如果只修正平移向量,t
xj
,t
yj
,t
zj
为未知,a
xj
,a
yj
,a
zj
为已知:采用非线性优化法在初值处将对平移向量t
xj
,t
yj
,t
zj
求偏导;对进行泰勒展开,得到关于平移向量t
xj
,t
yj
,t
zj
的修正量dt
xj
,dt
yj
,dt
zj
的线性方程组;对该线性方程组进行最小二乘法求解,得到修正量dt
xj
,dt
yj
,dt
zj
;根据修正量dt
xj
,dt
yj
,dt
zj
对平移向量t
xj
,t
yj
,t
zj
进行修正:,得到修正值。
63.第三种情况,如果只修正旋转角,a
xj
,a
yj
,a
zj
为未知,t
xj
,t
yj
,t
zj
为已知:采用非线性优化法在初值处将对旋转角a
xj
,a
yj
,a
zj
求偏导;对进行泰勒展开,得到关于旋转角a
xj
,a
yj
,a
zj
的修正量da
xj
,da
yj
,da
zj
的线性方程组;对该线性方程组进行最小二乘法求解,得到修正量da
xj
,da
yj
,da
zj
;根据修正量da
xj
,da
yj
,da
zj
对旋转角a
xj
,a
yj
,a
zj
进行修正:,得到修正值。
64.第一种情况和第三种情况出现较多,第二种情况较为少见,因为很难获取到高精度的姿态数据(旋转角)。
65.s405:得到修正值后,将修正值作为新的平移向量t
xj
,t
yj
,t
zj
和/或旋转角a
xj
,a
yj
,a
zj
的初值继续求解出新的修正值;重复迭代初值并求解出新的修正值,直到重复迭代初值至指定次数和/或前后两次更新的初值计算的误差小于指定阈值。也可以根据需要在测量的过程中不断更新初值和修正值,直到测量结束。
66.指定次数为50-100次。指定阈值为0.001-0.01。
67.采用本方案,不需要事先对相机3的各个运动位置的相对位置姿态进行精确标定,保证使用时系统稳固、参数不变;不需要在相机3上固定连接姿态传感器,不需要在测量视场中布设坐标精确已知的控制点靶标,只需要简易的散布亮点照射器,各个亮点的照射角度、散布亮点照射器与立体视觉相机间的关系等不需要已知或标定,使用过程中不需要保持散布亮点照射器的稳固,不需要保持各亮点照射角度相互关系,也不需要保持散布亮点照射器与立体视觉相机间的相对关系,就能够实时校准立体视觉测量系统各个相机间相对位置姿态参数,在单目立体视觉测量系统参数扰动、变化等情况下,保证单目立体视觉测量的精度,同时采用能够适应表面没有稳定纹理、环境光照条件差、测量场景运动变化、被测目标的区域无法布设标定靶点的情况。
68.作为本发明的第三个实施方式,提供一种自校准的测量系统,包括第一个实施方式的装置和单目立体视觉测量系统。该单目立体视觉测量系统根据相对位置姿态校准相机3在各个运动位置(基准运动位置c0和相对运动位置cj)的位置和姿态j。
69.作为本发明的第四个实施方式,提供一种测量被测目标的方法,采用第三个实施方式的自校准的测量系统。
70.该方法包括:采用第二个实施方式的方法校准单目立体视觉测量系统的相机3;使用立体视觉相机对被测目标1进行测量。
71.使用立体视觉相机对被测目标1进行测量的方案包括:根据相机3在各个运动位置的相对位置姿态、相机3在各个运动位置拍摄的被测目标1解算出被测目标1的三维坐标。
72.根据第四个实施方式,采用单目相机运动至多个位置,通过多个位置拍摄的亮点校准相机的位置和姿态,然后根据校准的位置和姿态、以及相机在各个位置拍摄的被测目标1,就能够获得高精度的被测目标1的三维坐标。单目相机在运动的过程中,实现了拍摄被测目标1,同时实现了自校准,能够应用在多种不同的场景中,不需要额外布设靶标和传感器,应用范围广,省时省力。
73.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1