CN115564836B - 幕墙机器人的单目坐标转换方法、装置及电子设备 - Google Patents
幕墙机器人的单目坐标转换方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115564836B CN115564836B CN202211402869.XA CN202211402869A CN115564836B CN 115564836 B CN115564836 B CN 115564836B CN 202211402869 A CN202211402869 A CN 202211402869A CN 115564836 B CN115564836 B CN 115564836B
- Authority
- CN
- China
- Prior art keywords
- curtain wall
- coordinate system
- robot
- coordinate
- plane
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C1/00—Measuring angles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/168—Segmentation; Edge detection involving transform domain methods
Abstract
本发明提供幕墙机器人的单目坐标转换方法、装置及电子设备,涉及机器人视觉技术领域,通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据;将直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据;将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据。通过上述方式,本发明以单目相机的成像原理为基础,提供一种适用于幕墙机器人,能够将单目相机的二维图像转换成幕墙机器人在玻璃幕墙上位置的方法;与经典的内外参矩阵转换相比,运算效率更高;与现有的各类车载单目测距算法相比,无需额外提供标志物的二维或三维尺寸。
Description
技术领域
本发明涉及机器人视觉技术领域,尤其涉及幕墙机器人的单目坐标转换方法、装置及电子设备。
背景技术
机器人已经逐渐融入人们的生活,提供不同类型的服务或功能。例如用于清洁玻璃幕墙的机器人。在这些机器人的感知系统中,单目视觉能够以较为低廉的成本提供面状的感知区域,因此成为低精度视觉或多感知融合的选择。
在各类视觉系统的相机中,单目相机结构简单、尺寸小、价格低廉、工作能耗小。但是单目相机缺少主动测量深度,或者通过多个视角分析深度的能力,无法直接测量三维信息,需要外部录入部分空间信息或者固定三维中的某个维度。现有的单目相机测距方法可以分为内外参矩阵转换模型,以及基于相似三角形法、应用于车载单目相机测距的消失点、俯仰角等方法。具体地:
1)内外参矩阵转换模型:该模型是经典的单目测距,原理是根据三维的现实世界坐标系转换到图像上图像坐标系的过程,求出每次坐标系变换的变换矩阵。
2)消失点原理:根据识别到的左右车道线,估算位于车道线内不同位置的车辆距离。
3)俯仰角计算
在已知车载单目相机高度的情况下,根据相机视线主轴与前方车辆底部的俯角,计算车辆与自身的水平距离。
然而,内外参矩阵变换的方法需要标定大量的参数,并且矩阵运算的计算量相对较大。而两种车载单目的测距方法需要获取车道线宽度、摄像头高度等不同数据,并且缺少垂直方向的测距,并不能适用幕墙机器人的工作场景。
发明内容
本发明提供幕墙机器人的单目坐标转换方法、装置及电子设备,用以解决现有技术中单目相机测距方法计算复杂、需要额外标定物尺寸,无法适用幕墙机器人的问题。
本发明提供一种幕墙机器人的单目坐标转换方法,包括:通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据;其中,图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点;将直线数据进行平面转换处理,将得到机器人平面坐标系下的坐标数据;其中,机器人平面坐标系与单目相机视线的中轴为y轴、与y轴垂直且与幕墙平面平行的视角为x轴、以单目相机的位置为原点;将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据;其中,幕墙平面坐标系以幕墙平面垂直向上的视角为y轴、沿幕墙平面与地面平行的视角为x轴、以幕墙机器人位置为原点。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,将直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据,包括:基于直线数据计算多条直线线段的像素长度,并将像素长度大于预设数值的直线线段作为第一直线线段;确定第一直线线段的两端点与单目相机的第一水平距离;确定第一直线线段的两端点与单目相机中轴的第一垂直距离;基于第一水平距离和第一垂直距离,将第一直线线段在的图像坐标系下的直线数据转换为机器人平面坐标系下的坐标数据。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据,包括:获取幕墙机器人前进方向与重力方向之间的偏航角;基于偏航角和机器人平面坐标系下的坐标数据,确定幕墙平面坐标系下的坐标数据。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,还包括:将平面转换处理和坐标转换处理进行整合,得到幕墙坐标转换模型;基于幕墙坐标转换模型,将图像坐标系下的直线数据转换为幕墙平面坐标系下的坐标数据。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据之后,还包括:基于坐标数据获得幕墙平面坐标系下的直线线段;将幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线;基于多条直线确定幕墙机器人与幕墙边框的距离。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,将幕墙平面坐标系下的直线线段进行偏移拉平处理,包括:根据直线线段与x轴的夹角,判断直线线段为水平线段、垂直线段或者其它线段;当直线线段为水平线段,水平线段的两端点的y值基于更接近y轴的端点进行拉平;当直线线段为垂直线段,垂直线段的两端点的y值基于更接近y轴的端点进行拉平。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,将幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线,包括:基于两条水平线段之间的距离,判断两条水平线段是否属于同一条直线;若两条水平线段属于同一条直线,则按照水平线方式进行融合;基于两条垂直线段之间的距离,判断两条垂直线段是否属于同一条直线;若两条垂直线段属于同一条直线,则按照垂直线方式进行融合。
根据本发明提供的一种幕墙机器人的单目坐标转换方法,将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据之后,包括:将机器人平面坐标系下的坐标数据进行平面反向旋转处理和坐标反向转换处理,得到图像坐标系下幕墙机器人与幕墙边框的距离。
本发明还提供一种幕墙机器人的单目坐标转换装置,包括:图像获取模块,用于通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据;其中,图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点;机器人平面坐标系模块,用于将直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据;其中,机器人平面坐标系与单目相机视线的中轴为y轴、与y轴垂直且与幕墙平面平行的视角为x轴、以单目相机的位置为原点;幕墙平面坐标系模块,用于将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据;其中,幕墙平面坐标系以幕墙平面垂直向上的视角为y轴、沿幕墙平面与地面平行的视角为x轴、以幕墙机器人位置为原点。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述幕墙机器人的单目坐标转换方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述幕墙机器人的单目坐标转换方法。
本发明提供的幕墙机器人的单目坐标转换方法、装置及电子设备,包括:通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据;其中,图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点;将直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据;将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据。通过上述方式,本发明以单目相机的成像原理为基础,提供一种适用于幕墙机器人,能够将单目相机的二维图像转换成幕墙机器人在玻璃幕墙上位置的方法;与经典的内外参矩阵转换相比,运算效率更高;与现有的各类车载单目测距算法相比,无需额外提供标志物的二维或三维尺寸。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明幕墙机器人的单目坐标转换方法一实施例的流程示意图;
图2是本发明图像坐标系一实施例的示意图;
图3是本发明机器人平面坐标系一实施例的示意图;
图4是本发明幕墙平面坐标系一实施例的示意图;
图5是本发明幕墙机器人的单目坐标转换方法整体流程的逻辑框图;
图6是本发明幕墙机器人的单目坐标转换装置一实施例的结构示意图;
图7是本发明电子设备一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种幕墙机器人的单目坐标转换方法,请参阅图1,图1是本发明幕墙机器人的单目坐标转换方法一实施例的流程示意图,在本实施例中,幕墙机器人的单目坐标转换方法可以包括步骤S110~S130,各步骤具体如下:
S110:通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据。
本实施例以单目相机的成像原理为基础,有别于经典内外参矩阵模型的三维空间坐标系转二维图像坐标系的方法,以及根据图像上识别已知尺寸来求距离的方法,研发了一套幕墙机器人的单目坐标转换方法。首先,通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据。这些直线数据中,有的代表玻璃的水平边框,有的代表玻璃的垂直边框,有的代表玻璃幕墙反射和透射的其它比较直的物体。
直线数据可以理解为直线线段的两端点坐标的数组,例如(x1,y1)、(x`1,y`1)、(x2,y2)、(x`2,y`2)等等。
具体地,图像预处理包括Canny边缘检测算法进行边缘检测和使用Hough变换提取边缘图的直线。
Canny边缘检测算法是一个多级边缘检测算法。Canny边缘检测算法的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:
(1)最优检测:算法能够尽可能多地标识出图像中的实际边缘,漏检真实边缘的概率和误检非边缘的概率都尽可能小;
(2)最优定位准则:检测到的边缘点的位置距离实际边缘点的位置最近,或者是由于噪声影响引起检测出的边缘偏离物体的真实边缘的程度最小;
(3)检测点与边缘点一一对应:算子检测的边缘点与实际边缘点应该是一一对应。
为了满足这些要求 Canny 使用了变分法(calculus of variations),这是一种寻找优化特定功能的函数的方法。最优检测使用四个指数函数项表示,但是它非常近似于高斯函数的一阶导数。
Canny边缘检测算法可以分为以下5个步骤:
(1)应用高斯滤波来平滑图像,目的是去除噪声。
(2)找寻图像的强度梯度(intensity gradients)。
(3)应用非最大抑制(non-maximum suppression)技术来消除边误检。
(4)应用双阈值的方法来决定可能的(潜在的)边界。
(5)利用滞后技术来跟踪边界。
Hough变换的基本原理是将影像空间中的曲线(包括直线)变换到参数空间中,通过检测参数空间中的极值点,确定出该曲线的描述参数,从而提取影像中的规则曲线。
S120:将直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据。
原理上,由于幕墙平面相对固定,因此可以简化外参矩阵。进一步借鉴车道线测距原理,就可以通过标定参数来建立从相机到某个点的水平距离换算公式。由于随着距离变化,图像上每个像素点代表的平面上的尺寸也会变化,求得某点到相机的水平距离后,也能推算出改点与相机视线中轴的垂直距离。以此就能建立起从图像平面到幕墙平面,以相机视线中轴为y轴的平面转换模型。
在一些实施例中,将直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据,包括:
基于直线数据计算多条直线线段的像素长度,并将像素长度大于预设数值的直线线段作为第一直线线段;确定第一直线线段的两端点与单目相机的第一水平距离;确定第一直线线段的两端点与单目相机中轴的第一垂直距离;基于第一水平距离和第一垂直距离,将第一直线线段在的图像坐标系下的直线数据转换为机器人平面坐标系下的坐标数据。
平面转换处理是基于小孔成像原理对线段进行测量距离的处理,获得直线线段两端点与相机的距离。由于现实世界的点是三维的,但是1张图片无法像激光、双目或者其它传感器数据那样获得三维信息,所以本实施例是将其中一维锁定为机器人所在的平面上,以此才能计算另外两维的距离。
例如,本步骤计算所有像素长度大于预设数值的直线线段,例如预设数值选用50像素。对每条直线线段,首先计算两端点与单目相机的水平距离,然后计算与单目相机中轴的垂直距离,位于中轴左侧为负、右侧为正。以此将该直线在图像平面的坐标(x1,y1)(x2,y2)转换为机器人平面的坐标(xd1,yd1)(xd2,yd2)。平面转换公式如下所示:
其中x、y是直线线段其中一端在图像平面上的坐标,F、W、a、b是标定的参数,xp是单目相机中轴在图像上的x值,xd、yd是直线线段其中一端在机器人平面的坐标。
请参阅图2-3,图2是本发明图像坐标系一实施例的示意图;图3是本发明机器人平面坐标系一实施例的示意图。图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点;机器人平面坐标系与单目相机视线的中轴为y轴、与y轴垂直且与幕墙平面平行的视角为x轴、以单目相机的位置为原点。其中,图像中的预设点可以设置为图像的左上角。
S130:将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据。
完成平面转换后,虽然机器人平面坐标系已在幕墙平面上并以相机位置为原点,但是y轴是朝向幕墙机器人行进方向。当幕墙机器人并非垂直上下运行,而是与垂直方向产生一定偏航角时,求得的直线也会与坐标系产生一定的夹角。因此需要进行坐标系旋转,根据偏航角将机器人平面坐标系转换为幕墙平面坐标系。
请参阅图4,图4是本发明幕墙平面坐标系一实施例的示意图。其中,幕墙平面坐标系以幕墙平面垂直向上的视角为y轴、沿幕墙平面与地面平行的视角为x轴、以幕墙机器人位置为原点。
在一些实施例中,将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据的步骤,具体包括:
获取幕墙机器人前进方向与重力方向之间的偏航角;基于偏航角和机器人平面坐标系下的坐标数据,确定幕墙平面坐标系下的坐标数据。
可选地,本步骤利用机器人搭载的IMU,获取机器人行进方向与重力方向之间的夹角,即机器人的偏航角。然后根据偏航角θ和机器人平面坐标系的坐标(x1,y1)(x2,y2)转换为幕墙平面的坐标(xd1,yd1)(xd2,yd2),再分别求出幕墙平面坐标系的坐标(xr1,yr1)(xr2,yr2)。坐标旋转公式如下:
其中xr、yr是直线线段其中一端在幕墙平面上的坐标。
本实施例中采用的IMU(Inertial Measurement Unit),即惯性测量单元,用于测量幕墙机器人的三轴姿态角。
在其他的一些实施例中,还可以将平面转换处理和坐标转换处理进行整合,得到幕墙坐标转换模型;基于幕墙坐标转换模型,将图像坐标系下的直线数据转换为幕墙平面坐标系下的坐标数据。其中幕墙坐标转换模型表达式为:
本实施例提供的幕墙机器人的单目坐标转换方法,通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据;将直线数据进行平面转换处理,得到机器人平面坐标系下的下的直线数据;将机器人平面坐标系下的直线数据进行坐标转换处理,得到幕墙平面坐标系下的直线数据。通过上述方式,以单目相机的成像原理为基础,提供一种适用于幕墙机器人,能够将单目相机的二维图像转换成幕墙机器人在玻璃幕墙上位置的方法;与经典的内外参矩阵转换相比,运算效率更高;与现有的各类车载单目测距算法相比,无需额外提供标志物的二维或三维尺寸。
在一些实施例中,将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据之后的步骤,还可以包括:
基于最表数据获得幕墙平面坐标系下的直线线段;将幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线;基于多条直线确定幕墙机器人与幕墙边框的距离。
本步骤是通过偏移拉平、同线融合,从经过坐标转换的多条直线线段计算出机器人与所处玻璃的上下左右边框距离。
由于受像素精度、Hough变换精度、俯仰/旋转角细微变化等各种误差影响,部分直线线段无法通过坐标转换直接转换成与重力方向夹角为0°或90°,因此需要进行微调。进一步地,将幕墙平面坐标系下的直线线段进行偏移拉平处理的步骤,具体包括:
根据直线线段与x轴的夹角,判断直线线段为水平线段、垂直线段或者其它线段;当直线线段为水平线段,水平线段的两端点的y值基于更接近y轴的端点进行拉平;当直线线段为垂直线段,垂直线段的两端点的y值基于更接近y轴的端点进行拉平。
本步骤根据与x轴的夹角判断是水平线段还是垂直线段,然后按照接近y轴为真值的原则进行拉平。
需要说明的是,第一图片上会有各种直线物体,例如安全绳、电线等。这一步在识别玻璃水平和垂直边框的同时,也要去掉其它直线噪声。
① 计算与x轴的夹角α。
② 如果α在阈值区间内,判断为水平线段;如果在另一个区间内,判断为垂直线段。例如-15°≤α≤15°则认为是水平线段,-90°<α≤-75°或75°≤α<90°则认为是垂直线段。
③ 如果是水平线段,两端的y值按照更接近y轴的那端来拉平。
④ 如果是垂直线段,两端的x值按照更接近x轴的那端来拉平。
此外,将幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线的步骤,还可以包括:
基于两条水平线段之间的距离,判断两条水平线段是否属于同一条直线;若两条水平线段属于同一条直线,则按照水平线方式进行融合;基于两条垂直线段之间的距离,判断两条垂直线段是否属于同一条直线;若两条垂直线段属于同一条直线,则按照垂直线方式进行融合。
本步骤是根据两条直线线段之间的距离,判断是否需要融合为同一条。首先需要判断是水平线段还是垂直线段,根据不同类型进行不同操作。
水平线方式:
① 提取水平线段的左右端子的x值;
② 遍历已缓存的水平线段列表,判断是否有与该水平线段的y值相近的其他水平线段;
③ 如果没有,则新增到水平线列表;
④ 如果有,判断缓存的水平线段与该水平线段的x轴中点。如果该水平线段中点更接近中轴,则取该水平线段的y值为水平线的y值。
⑤ 取该水平线段与缓存的水平线段中更小的左端x值为水平线左端x值,更大的右端x值为水平线右端x值。
垂直线方式:
① 提取垂直线段的上下端子的y值;
② 遍历已缓存的垂直线段列表,判断是否有与该垂直线段的x值相近的其他垂直线段;
③ 如果没有,则新增到垂直线列表;
④ 如果有,判断缓存的垂直线段与该垂直线段的y轴中点。如果该垂直线段的中点更接近中轴,则取该垂直线段的x值为垂直线的x值。
⑤ 取该垂直线段与缓存的垂直线中更小的下端y值为垂直线下端y值,更大的上端y值为垂直线上端y值。
需要说明的是,本实施例的融合方法是以识别到的线段长度为权重,进行加权求和。不是简单的算数平均值或者固定权重求和,而是根据的识别到的线段长度,也就是直线物体越长、越清晰,识别到的线段就越长,平均过程中的权重就越大。这样可以降低玻璃边框上直线纹理对识别的影响,更准确的识别出边框。
在本实施例公开了当幕墙机器人进行坐标转换后,还可以识别幕墙平面上下左右边框距离,使得幕墙机器人的位置检测更加准确。
在一些实施例中,将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据之后的步骤,还可以包括:
将机器人平面坐标系下的坐标数据进行平面反向旋转处理和坐标反向转换处理,得到图像坐标系下幕墙机器人与幕墙边框的距离。
本步骤是为了方便操作人员可以更加直观的观察处理后的各条边框线和数据,将处理后的水平线和垂直线通过反向旋转和坐标转换,从幕墙平面坐标系转换到图像坐标系。
参照上述的幕墙坐标转换模型表达式,按照﹣θ进行旋转,将幕墙平面坐标系(xr1,yr1)(xr2,yr2)旋转为机器人平面坐标系(x`d1,y`d1)(x`d2,y`d2)。
本实施例公开了从图像坐标系转换为幕墙平面坐标系的坐标转换模型,使得幕墙机器人检测的位置数据可以整理为图像信息,更加方便数据的收集。
请参阅图5,图5是本发明幕墙机器人的单目坐标转换方法整体流程的逻辑框图。在本实施例中不仅进行了坐标转换,还对识别到的边缘直线进行处理。
第一步进行图像预处理:对通过幕墙机器人的单目相机获得的第一图像进行图像预处理,其中图像预处理包括Canny边缘检测和Hough换检测直线,得到图像坐标系下的直线数据。
第二步进行坐标转换:对图像坐标系下的直线数据进行坐标转换,其中坐标转换包括平面坐标系转换和坐标系旋转,得到幕墙平面坐标系下的直线线段。
第三步进行数据融合:对直线线段进行直线融合,其中直线融合包括直线偏移拉平和同线融合,将提取的直线融合为上下左右边框的位置数据。
第四步进行数据反推和输出:将幕墙平面坐标系下的位置数据 数据反推转换至图像坐标系,其中数据反推包括反向旋转和反面平面转换,将计算出的距离数据通过反向坐标转换展示到图像上。
本实施例不仅进行了坐标转换,也需要对识别到的边缘直线进行处理。由于Hough变换获得的直线会有一定的偏差,并且由于每个像素所代表的实际距离不同,因此需要对所有直线进行处理,包括对每条直线的角度进行微调,融合在同一条边框上的直线,还可以并将前后两台单目相机的数据进行整合。
下面对本发明提供的幕墙机器人的单目坐标转换装置进行描述,下文描述的幕墙机器人的单目坐标转换装置与上文描述的幕墙机器人的单目坐标转换方法可相互对应参照。
请参阅图6,图6是本发明幕墙机器人的单目坐标转换装置一实施例的结构示意图。在本实施例中,幕墙机器人的单目坐标转换装置可以包括图像获取模块610、机器人平面坐标系模块620和幕墙平面坐标系模块630。
图像获取模块610,用于通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据其中,图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点。
机器人平面坐标系模块620,用于将直线数据进行平面转换处理,将得到机器人平面坐标系下的坐标数据;其中,机器人平面坐标系与单目相机视线的中轴为y轴、与y轴垂直且与幕墙平面平行的视角为x轴、以单目相机的位置为原点。
幕墙平面坐标系模块630,用于将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据;其中,幕墙平面坐标系以幕墙平面垂直向上的视角为y轴、沿幕墙平面与地面平行的视角为x轴、以幕墙机器人位置为原点。
在一些实施例中,机器人平面坐标系模块620,用于:
基于直线数据计算多条直线线段的像素长度,并将像素长度大于预设数值的直线线段作为第一直线线段;确定第一直线线段的两端点与单目相机的第一水平距离;确定第一直线线段的两端点与单目相机中轴的第一垂直距离;基于第一水平距离和第一垂直距离,将第一直线线段在的图像坐标系下的直线数据转换为机器人平面坐标系下的坐标数据。
在一些实施例中,幕墙平面坐标系模块630用于:
获取幕墙机器人前进方向与重力方向之间的偏航角;基于偏航角和机器人平面坐标系下的坐标数据,确定幕墙平面坐标系下的坐标数据。
在一些实施例中,幕墙机器人的单目坐标转换装置还包括整合模块,整合模块用于:
将平面转换处理和坐标转换处理进行整合,得到幕墙坐标转换模型;基于幕墙坐标转换模型,将图像坐标系转换下的直线数据为幕墙平面坐标系下的坐标数据。
在一些实施例中,幕墙机器人的单目坐标转换装置还包括距离确定模块,距离确定模块用于:
基于坐标数据获得幕墙平面坐标系下的直线线段;将幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线;基于多条直线确定幕墙机器人与幕墙边框的距离。
在一些实施例中,幕墙机器人的单目坐标转换装置还包括线段处理模块,线段处理模块用于:
根据直线线段与x轴的夹角,判断直线线段为水平线段、垂直线段或者其它线段;当直线线段为水平线段,水平线段的两端点的y值基于更接近y轴的端点进行拉平;当直线线段为垂直线段,垂直线段的两端点的y值基于更接近y轴的端点进行拉平。
在一些实施例中,线段处理模块用于:
基于两条水平线段之间的距离,判断两条水平线段是否属于同一条直线;若两条水平线段属于同一条直线,则按照水平线方式进行融合;基于两条垂直线段之间的距离,判断两条垂直线段是否属于同一条直线;若两条垂直线段属于同一条直线,则按照垂直线方式进行融合。
在一些实施例中,幕墙机器人的单目坐标转换装置还包括坐标逆转换处理模块,坐标逆转换模块用于:
将机器人平面坐标系下的坐标数据进行平面反向旋转处理和坐标反向转换处理,得到图像坐标系下幕墙机器人与幕墙边框的距离。
本发明还提供一种电子设备,请参阅图7,图7是本发明电子设备一实施例的结构示意图。在本实施例中,电子设备可以包括存储器(memory)720、处理器(processor)710及存储在存储器720上并可在处理器710上运行的计算机程序。处理器710执行程序时实现上述各方法所提供的幕墙机器人的单目坐标转换方法。
可选地,电子设备还可以包括通信总线730和通信接口(CommunicationsInterface)740,其中,处理器710,通信接口740,存储器720通过通信总线730完成相互间的通信。处理器710可以调用存储器720中的逻辑指令,以执行幕墙机器人的单目坐标转换方法,该方法包括:
通过幕墙机器人的单目相机获得第一图像,并对第一图像进行预处理,得到图像坐标系下的直线数据;其中,图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点;将直线数据进行平面转换处理,将得到机器人平面坐标系下的坐标数据;其中,机器人平面坐标系与单目相机视线的中轴为y轴、与y轴垂直且与幕墙平面平行的视角为x轴、以单目相机的位置为原点;将机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据;其中,幕墙平面坐标系以幕墙平面垂直向上的视角为y轴、沿幕墙平面与地面平行的视角为x轴、以幕墙机器人位置为原点。
此外,上述的存储器720中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的幕墙机器人的单目坐标转换方法,其步骤和原理在上述方法已详细介绍,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种幕墙机器人的单目坐标转换方法,其特征在于,包括:
通过幕墙机器人的单目相机获得第一图像,并对所述第一图像进行预处理,得到图像坐标系下的直线数据;其中,所述图像坐标系以单目相机的上下视角为y轴、左右视角为x轴、图像中的预设点为原点;
将所述直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据;其中,所述机器人平面坐标系以单目相机视线的中轴为y轴、与y轴垂直且与幕墙平面平行的视角为x轴、以单目相机的位置为原点;
将所述机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据;其中,所述幕墙平面坐标系以幕墙平面垂直向上的视角为y轴、沿幕墙平面与地面平行的视角为x轴、以所述幕墙机器人位置为原点;
其中,所述将所述直线数据进行平面转换处理,得到机器人平面坐标系下的坐标数据,包括:
基于所述直线数据计算多条直线线段的像素长度,并将像素长度大于预设数值的直线线段作为第一直线线段;
确定所述第一直线线段的两端点与所述单目相机的第一水平距离;
确定所述第一直线线段的两端点与单目相机中轴的第一垂直距离;
基于所述第一水平距离和所述第一垂直距离,将所述第一直线线段在图像坐标系下的直线数据转换为机器人平面坐标系下的坐标数据。
2.根据权利要求1所述的幕墙机器人的单目坐标转换方法,其特征在于,所述将所述机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据,包括:
获取所述幕墙机器人前进方向与重力方向之间的偏航角;
基于所述偏航角和所述机器人平面坐标系下的坐标数据,确定所述幕墙平面坐标系下的坐标数据。
3.根据权利要求2所述的幕墙机器人的单目坐标转换方法,其特征在于,还包括:
将所述平面转换处理和所述坐标转换处理进行整合,得到幕墙坐标转换模型;
基于所述幕墙坐标转换模型,将所述图像坐标系下的直线数据转换为所述幕墙平面坐标系下的坐标数据。
4.根据权利要求1所述的幕墙机器人的单目坐标转换方法,其特征在于,所述将所述机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据之后,还包括:
基于所述坐标数据获得幕墙平面坐标系下的直线线段;
将所述幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线;
基于所述多条直线确定所述幕墙机器人与幕墙边框的距离。
5.根据权利要求4所述的幕墙机器人的单目坐标转换方法,其特征在于,所述将所述幕墙平面坐标系下的直线线段进行偏移拉平处理,包括:
根据所述直线线段与所述幕墙平面坐标系的x轴的夹角,判断所述直线线段为水平线段、垂直线段或者其它线段;
当所述直线线段为水平线段,所述水平线段的两端点的y值基于更接近所述幕墙平面坐标系的y轴的端点进行拉平;
当所述直线线段为垂直线段,所述垂直线段的两端点的y值基于更接近所述幕墙平面坐标系的y轴的端点进行拉平。
6.根据权利要求5所述的幕墙机器人的单目坐标转换方法,其特征在于,所述将所述幕墙平面坐标系下的直线线段进行偏移拉平处理和同线融合处理,得到多条直线,包括:
基于两条水平线段之间的距离,判断所述两条水平线段是否属于同一条直线;若所述两条水平线段属于同一条直线,则按照水平线方式进行融合;
基于两条垂直线段之间的距离,判断所述两条垂直线段是否属于同一条直线;若所述两条垂直线段属于同一条直线,则按照垂直线方式进行融合。
7.根据权利要求4所述的幕墙机器人的单目坐标转换方法,其特征在于,所述将所述机器人平面坐标系下的坐标数据进行坐标转换处理,得到幕墙平面坐标系下的坐标数据之后,包括:
将所述机器人平面坐标系下的坐标数据进行平面反向旋转处理和坐标反向转换处理,得到所述图像坐标系下所述幕墙机器人与幕墙边框的距离。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述幕墙机器人的单目坐标转换方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述幕墙机器人的单目坐标转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402869.XA CN115564836B (zh) | 2022-11-10 | 2022-11-10 | 幕墙机器人的单目坐标转换方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402869.XA CN115564836B (zh) | 2022-11-10 | 2022-11-10 | 幕墙机器人的单目坐标转换方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115564836A CN115564836A (zh) | 2023-01-03 |
CN115564836B true CN115564836B (zh) | 2023-03-17 |
Family
ID=84770237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211402869.XA Active CN115564836B (zh) | 2022-11-10 | 2022-11-10 | 幕墙机器人的单目坐标转换方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115564836B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111673735A (zh) * | 2020-04-28 | 2020-09-18 | 平安科技(深圳)有限公司 | 一种基于单目视觉定位的机械臂控制方法及装置 |
CN111982072A (zh) * | 2020-07-29 | 2020-11-24 | 西北工业大学 | 一种基于单目视觉的目标测距方法 |
CN114413958A (zh) * | 2021-12-28 | 2022-04-29 | 浙江大学 | 无人物流车的单目视觉测距测速方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61126406A (ja) * | 1984-11-26 | 1986-06-13 | Yokogawa Electric Corp | 画像計測装置 |
CN110103217B (zh) * | 2019-05-09 | 2022-07-26 | 电子科技大学 | 工业机器人手眼标定方法 |
CN113119129A (zh) * | 2021-04-28 | 2021-07-16 | 吕若罡 | 一种基于标准球的单目测距定位方法 |
CN115100290B (zh) * | 2022-06-20 | 2023-03-21 | 苏州天准软件有限公司 | 交通场景下的单目视觉定位方法及装置、设备、存储介质 |
-
2022
- 2022-11-10 CN CN202211402869.XA patent/CN115564836B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111673735A (zh) * | 2020-04-28 | 2020-09-18 | 平安科技(深圳)有限公司 | 一种基于单目视觉定位的机械臂控制方法及装置 |
CN111982072A (zh) * | 2020-07-29 | 2020-11-24 | 西北工业大学 | 一种基于单目视觉的目标测距方法 |
CN114413958A (zh) * | 2021-12-28 | 2022-04-29 | 浙江大学 | 无人物流车的单目视觉测距测速方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115564836A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108520536B (zh) | 一种视差图的生成方法、装置及终端 | |
US10789719B2 (en) | Method and apparatus for detection of false alarm obstacle | |
CN106960454B (zh) | 景深避障方法、设备及无人飞行器 | |
EP2327055B1 (en) | Method of and arrangement for blurring an image | |
CN110276317B (zh) | 一种物体尺寸检测方法、物体尺寸检测装置及移动终端 | |
EP3517997A1 (en) | Method and system for detecting obstacles by autonomous vehicles in real-time | |
CN108885791B (zh) | 地面检测方法、相关装置及计算机可读存储介质 | |
CN108235774B (zh) | 信息处理方法、装置、云处理设备以及计算机程序产品 | |
CN110243390B (zh) | 位姿的确定方法、装置及里程计 | |
CN112686877A (zh) | 基于双目相机的三维房屋损伤模型构建测量方法及系统 | |
CN112489106A (zh) | 基于视频的车辆尺寸测量方法、装置、终端及存储介质 | |
CN114919584A (zh) | 机动车定点目标测距方法、装置及计算机可读存储介质 | |
CN111105467A (zh) | 一种图像标定方法、装置及电子设备 | |
CN110197104B (zh) | 基于车辆的测距方法及装置 | |
CN112146620B (zh) | 目标物体的测距方法及装置 | |
CN110992291B (zh) | 基于三目视觉的测距方法、系统及存储介质 | |
CN115564836B (zh) | 幕墙机器人的单目坐标转换方法、装置及电子设备 | |
CN116543032A (zh) | 冲击物测距方法、装置、测距设备及存储介质 | |
CN111553342A (zh) | 一种视觉定位方法、装置、计算机设备和存储介质 | |
EP3629292A1 (en) | Reference point selection for extrinsic parameter calibration | |
CN115908551A (zh) | 车辆测距方法、装置、电子设备及存储介质 | |
CN112365600A (zh) | 一种三维物体检测方法 | |
CN107506782B (zh) | 基于置信权重双边滤波的密集匹配方法 | |
CN112967345B (zh) | 鱼眼相机的外参标定方法、装置以及系统 | |
CN114612544B (zh) | 图像处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |