CN105118069B - 一种复杂环境直线检测和筛选方法及应用该方法的机器人 - Google Patents
一种复杂环境直线检测和筛选方法及应用该方法的机器人 Download PDFInfo
- Publication number
- CN105118069B CN105118069B CN201510642250.XA CN201510642250A CN105118069B CN 105118069 B CN105118069 B CN 105118069B CN 201510642250 A CN201510642250 A CN 201510642250A CN 105118069 B CN105118069 B CN 105118069B
- Authority
- CN
- China
- Prior art keywords
- line
- straight line
- straight
- threshold value
- point
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种复杂环境下直线检测和筛选的方法,采用了基于线段融合的直线检测算法,大大提高了直线检测检测的精度,能够实现准确的提取边缘直线;采用了基于高斯模型的直线筛选算法,对所有检测到的直线进行筛选,从而保留目标直线,剔除无关直线。并且当目标直线存在部分遮挡或者局部曝光过度问题时,依然能够检测并筛选出来,极具实用价值。最终得到的直线可以用于机器人定位和巡线等任务。
Description
技术领域
本发明涉及复杂环境中机器人通过视觉进行环境感知,尤其涉及一种复杂环境直线检测和筛选方法。
背景技术
在一些复杂环境中,例如仓库环境中,地面上通常存在人工粘贴的标志物,例如黄色胶带,辅助仓库中的货物可以更加规整的摆放,这些直线通常规整的粘贴在地面上,例如沿走廊粘贴在走廊边上,直线之间通常相互垂直或平行,具有结构化的信息,因此提取和检测这些直线对于机器人的运行具有重要的价值。
通常已有的直线检测算法致力于提取出机器人当前视野中的所有直线,例如使用边缘检测算法提取边缘,再使用霍夫变换通过这些边缘点投票得到直线。这种方法得到的直线精度不高,甚至在真实世界的一条直线上检测得到多个直线,不符合机器人应用场景中的直线需精确定位的需求。现有的直线检测算法专注于对视野中的直线进行检测,没有涉及到如何筛选出具有应用价值的直线。
发明内容
本发明的目的在于针对现有技术的不足,提供一种复杂环境直线检测和筛选方法及应用该方法的机器人。
本发明的目的是通过以下技术方案来实现的:一种复杂环境下直线检测和筛选的方法,包括以下步骤:
步骤S1:对采集到的图像进行预处理,包括图像去畸变和滤波处理;
步骤S2:使用线段提取算法提取预处理后的图像中的线段;
步骤S3:选定两条直线分别作为母直线和子直线,并利用设定阈值判定母直线和子直线是否可以融合;若小于设定阈值则可以融合;
步骤S4:对步骤S3中判定能融合的直线进行融合,得到融合后的直线;
步骤S5:重复步骤S3、S4,直到剩余直线不能融合;
步骤S6:对步骤S5中剩余的不能融合的直线进行评分,根据评分筛选出的直线作为目标直线;
所述复杂环境下直线检测和筛选的方法还包括步骤:将融合后直线与图像边缘的交点加入到各自的直线属性;该步骤在每次步骤S4得到融合后的直线后进行或者步骤S5直到剩余直线不能融合后进行。
进一步地,步骤S2的线段提取算法包括如下步骤:
步骤S21:计算图像每个像素点的梯度,并定义水平线方向为与梯度垂直的方向;
步骤S22:使用区域增长算法将图像分割为若干个连通域,每个连通域内允许两两像素之间水平线方向的最大差值为τ;
步骤S23:对于每一个连通域选取一个最小矩形包围该区域,则矩形的长轴方向为线段的方向,并返回线段的两个端点。
进一步地,所述设定的阈值包括距离和阈值、角度差阈值和截距误差阈值,具体判定步骤包括:
(1)当子直线只包含一个线段:计算子直线的两个端点到母直线的距离和,若小于设定距离和阈值,则可以融合;
(2)当子直线包含多个线段:计算子直线与母直线角度差和截距误差同时小于设定的角度差阈值和截距误差阈值时,则判定子直线与母直线可以融合。
进一步地,所述步骤S4中直线融合方法为对母直线与子直线中的每个线段采样;将所有采样点经过最小二乘拟合得到新的直线。
进一步地,每个线段采样点的数目为线段长度值。
进一步地,步骤S6的具体方法如下:
步骤S61:选取描述特征,所述描述特征为沿垂直于直线的方向所有对称的采样点颜色值差值的均值;
步骤S62:训练高斯模型;选取位于目标直线上的点,提取步骤S61中的特征,提取高斯模型,得均值特征向量以及协方差矩阵;
步骤S63:筛选直线:对于经过融合后的任意一条直线,对每一点提取步骤S61中所述特征;使用马氏距离度量每一点特征与步骤S62得到的高斯模型之间的距离计算得分,得到目标直线。进一步地,所述评分S的计算方法为其中,起始点(xs,ys),终止点(xe,ye),采样点p总数为Z,D(p)为马氏距离。
一种具有直线检测和筛选功能的机器人,所述机器人包括控制器,所述控制器通过上述的方法实现直线检测和筛选。
本发明的有益效果是:本发明采用了基于线段融合的直线检测算法,大大提高了直线检测检测的精度,能够实现准确的提取边缘直线;采用了基于高斯模型的直线筛选算法,对所有检测到的直线进行筛选,从而保留目标直线,剔除无关直线。并且当目标直线存在部分遮挡或者局部曝光过度问题时,依然能够检测并筛选出来,极具实用价值。
具体实施方式
本发明提出一种复杂环境下直线检测和筛选的方法,包括以下步骤:
步骤S1:对采集到的图像进行预处理,包括图像去畸变和滤波处理;
步骤S2:使用线段提取算法提取预处理后的图像中的线段;
步骤S3:选定两条直线作为母直线和子直线,并利用设定阈值判定母直线和子直线是否可以融合;若小于设定阈值则可以融合;
步骤S4:对步骤S3中判定能融合的直线进行融合,得到融合后的直线;
步骤S5:重复步骤S3、S4,直到剩余直线不能融合;
步骤S6:对步骤S5中剩余的不能融合的直线进行评分,根据评分筛选出的直线作为目标直线;
其中,
步骤S1:对采集到的图像进行预处理,包括图像去畸变和滤波处理;
通过摄像头在包含目标直线的场景中进行图像采集,所述目标直线是指人为粘贴的具有特定颜色属性的直线,或者场景中已经存在的具有特定颜色属性的直线;对采集到的图像进行预处理,包括图像去畸变和滤波处理;并定义图像坐标系,以图像左上角的点为坐标原点,以像素为坐标单位:
步骤S2:使用线段提取算法提取预处理后的图像中的线段;
所述线段包含起始点与终止点,并且起始点与终止点均在图像区域;
优选的,LSD线段提取算法包括以下子步骤:
步骤S21:计算每个像素点的梯度,并定义水平线方向为与梯度垂直的方向;
步骤S22:使用区域增长算法将图像分割为若干个连通域,每个连通域内允许两两像素之间水平线方向的最大差值为τ;
步骤S23:对于每一个连通域选取一个最小矩形包围该区域,则矩形的长轴方向为线段的方向,并返回线段的两个端点;
用直线方程Ax+By+C=0表示步骤S21中得到的每条线段,其中A,B,C为直线一般式的三个参数。该直线包括如下属性:包含线段的起始点、终止点和线段长度。
步骤S3:选定两条直线作为母直线和子直线,并利用设定阈值判定母直线和子直线是否可以融合;
选定一条为母直线,子直线可以为除选定母直线外的任意线段,本实例中通过给线段长度的降序排列,有顺序地选择母直线和子直线,也可通过任意随机方式选择或者根据线段长度升序排列,再顺序选择母直线和子直线的方式,
本实施例具体选择母直线和子直线的方式如下:
步骤S31:根据直线属性中的线段长度,对所有直线进行排序,长度依次递减;并设置直线融合标志为0;
步骤S32:选取母直线,以第i条直线为母直线;
①N条直线,初始取i的数值为1;
②若j大于N,i的值加一;
③若i大于N,判定直线融合标志是否为1,如果为1则重复步骤S31、S32、S33,否则计算直线与图像边缘的交点;
所述直线与图像边缘的交点表示为(xs,ys),(xe,ye),将两个交点加入到直线属性;
也可以在得到剩余的若干不能再融合的直线之后计算每条剩余直线与图像边缘的交点,并将两个交点加入各自的直线属性;
步骤S33:选取子直线,以第j条直线为子直线;
①初始取j的数值为i+1;
②若直线可以融合,融合后删除用于融合的子直线,设置直线融合标志为1,j的值不变,用第j+1条直线至第N条直线分别代替第j条直线至第N-1条直线,或者当直线不可融合时,j的值直接加1;
③若j大于N,则重复步骤S32、S33;
选取母直线和子直线后,利用设定阈值判断母直线和子直线是否可以融合,所述设定阈值包括距离和阈值、角度差阈值和截距误差阈值,若小于设定阈值则可以融合;具体步骤如下:
(1)当子直线只包含一个线段:计算子直线的两个端点到母直线的距离和,若小于距离和阈值,则可以融合;
具体地,当子直线第j条直线只包含一个线段:使用如下公式判定两个线段端点(x1,y1),(x2,y2)与母直线第i条直线的距离和errdist;
errdist=D(x1,y1)+D(x2,y2)
其中:
Ai、Bi、Ci为母直线第i条直线的一般式参数,D(x,y)表示点(x,y)到母直线第i条直线的距离。
若errdist小于设定阈值,则判定母直线第i条直线与子直线第j条直线可以融合。
(2)当子直线包含多个线段:计算子直线与母直线角度差和截距误差同时小于设定的角度差阈值和截距误差阈值时,则判定子直线与母直线可以融合。
当第j条直线包含多个线段:子直线第j条直线的参数为Aj,Bj,Cj,则两条直线的角度差阈值为errangle:
截距误差为errC:
当errangle与errC同时小于设定的阈值时,则判定母直线第i条直线与子直线第j条直线可以融合,
步骤S4:对步骤S3中判定能融合的直线进行融合,得到融合后的直线;
直线融合方法为对母直线与子直线中的每个线段采样;将所有采样点经过最小二乘拟合可以得到新的直线
具体地:对于母直线与子直线可能包含多个被融合的线段,分别对母直线第i条直线与子直线第j条直线中的每个线段采样;每个线段采样点的数目为线段长度值,此处以像素为单位,即如果线段长度占了100个像素点,则采样的点数为100,最终得到采样点数目为Li+Lj,其中s为直线中的线段数目,lm为第m条线段的长度;使用Li+Lj个采样点,经过最小二乘拟合可以得到新的直线,一般式参数为Af、Bf、Cf,使用Af、Bf、Cf更新母直线第i条直线中的一般式参数Ai、Bi、Ci,设置Li为Li+Lj,将子直线第j条直线中的线段加入到母直线第i条直线中;
步骤S5:重复步骤S3、S4,直到剩余直线不能融合;
步骤S6:对步骤S5中直线融合提取到的直线进行评分,根据评分筛选出的直线作为目标直线;
步骤S61:选取描述特征,所述描述特征为沿垂直于直线的方向所有对称的采样点颜色值差值的均值;
本实施例具体提取特征的方法如下:
设点为直线上的一点,其中t表示从(xs,ys)到(xe,ye)的第t个采样点;沿垂直于直线的方向,以为中心向两侧分别采样M个点,则所有采样点数目为2M,第k次采样得到的两个点表示为则定义:
其中RGB(x)表示x位置处的颜色值,f(x)为用于描述像素x的描述特征,为3×1特征向量;
步骤S62:训练高斯模型;选取位于目标直线上的点,提取步骤S51中的特征,提取高斯模型,得均值特征向量以及协方差矩阵;
具体地,选取位于目标直线上的点,提取步骤S51中的特征,得到包含n个特征的集合F={f1,f2...fn},为3×n矩阵;提取高斯模型,得均值特征向量为3×1特征向量,以及协方差矩阵cov,为3×3矩阵;
F中的每一列减去得到矩阵
将训练完毕的高斯模型保存为文件,方便步骤S53中筛选直线操作;如果需要筛选多种颜色特性的直线,则可以经过多次训练保存为多个高斯模型。
步骤S63:筛选直线:对于经过融合后的任意一条直线,对每一点提取步骤S61中所述特征;使用马氏距离度量每一点特征与步骤S62得到的高斯模型之间的距离计算得分,得到目标直线;
对于经过融合后的任意一条直线,从起始点(xs,ys)到终止点(xe,ye),对每一点提取步骤S51中所述特征;对于点p得到的特征为f(p);使用马氏距离D(p)度量p点特征与步骤S52得到的高斯模型之间的距离:
从起始点(xs,ys)到终止点(xe,ye)采样点总数为Z,则该直线的得分S为:
S越小,则越接近需要的直线;若S小于设置阈值,则当前直线为目标直线,否则,当前直线不是目标直线。
本发明还提供一种具有直线检测和筛选功能的机器人,该机器人包括控制器,所述控制器通过上述方法实现直线检测和筛选。
Claims (7)
1.一种复杂环境下用于机器人的直线检测和筛选的方法,其特征在于,包括以下步骤:
步骤S1:对采集到的图像进行预处理,包括图像去畸变和滤波处理;
步骤S2:使用线段提取算法提取预处理后的图像中的线段;
步骤S3:选定两条直线分别作为母直线和子直线,并利用设定阈值判定母直线和子直线是否可以融合;若小于设定阈值则可以融合;
所述设定的阈值包括距离和阈值、角度差阈值和截距误差阈值,具体判定步骤包括:
(1)当子直线只包含一个线段:计算子直线的两个端点到母直线的距离和,若小于设定距离和阈值,则可以融合;
(2)当子直线包含多个线段:计算子直线与母直线角度差和截距误差同时小于设定的角度差阈值和截距误差阈值时,则判定子直线与母直线可以融合;
步骤S4:对步骤S3中判定能融合的直线进行融合,得到融合后的直线;
步骤S5:重复步骤S3、S4,直到剩余直线不能融合;
步骤S6:对步骤S5中剩余的不能融合的直线进行评分,根据评分筛选出的直线作为目标直线,所述目标直线是具有特定颜色属性的直线;
所述复杂环境下直线检测和筛选的方法还包括步骤:将融合后直线与图像边缘的交点加入到各自的直线属性;该步骤在每次步骤S4得到融合后的直线后进行或者步骤S5直到剩余直线不能融合后进行。
2.如权利要求1所述的方法,其特征在于,步骤S2的线段提取算法包括如下步骤:
步骤S21:计算图像每个像素点的梯度,并定义水平线方向为与梯度垂直的方向;
步骤S22:使用区域增长算法将图像分割为若干个连通域,每个连通域内允许两两像素之间水平线方向的最大差值为τ;
步骤S23:对于每一个连通域选取一个最小矩形包围该区域,则矩形的长轴方向为线段的方向,并返回线段的两个端点。
3.如权利要求1所述的方法,其特征在于,所述步骤S4中直线融合方法为对母直线与子直线中的每个线段采样;将所有采样点经过最小二乘拟合得到新的直线。
4.如权利要求3所述的方法,其特征在于,每个线段采样点的数目为线段长度值。
5.如权利要求1所述的方法,其特征在于,步骤S6的具体方法如下:
步骤S61:选取描述特征,所述描述特征为沿垂直于直线的方向所有对称的采样点颜色值差值的均值;
步骤S62:训练高斯模型;选取位于目标直线上的点,提取步骤S61中的特征,提取高斯模型,得均值特征向量以及协方差矩阵;
步骤S63:筛选直线:对于经过融合后的任意一条直线,对每一点提取步骤S61中所述特征;使用马氏距离度量每一点特征与步骤S62得到的高斯模型之间的距离计算得分,得到目标直线。
6.如权利要求5所述的方法,其特征在于:所述评分S的计算方法为其中,起始点(xs,ys),终止点(xe,ye),采样点p总数为Z,D(p)为马氏距离。
7.一种具有直线检测和筛选功能的机器人,其特征在于,所述机器人包括控制器,所述控制器通过权利要求1所述的方法实现直线检测和筛选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642250.XA CN105118069B (zh) | 2015-09-30 | 2015-09-30 | 一种复杂环境直线检测和筛选方法及应用该方法的机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642250.XA CN105118069B (zh) | 2015-09-30 | 2015-09-30 | 一种复杂环境直线检测和筛选方法及应用该方法的机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105118069A CN105118069A (zh) | 2015-12-02 |
CN105118069B true CN105118069B (zh) | 2019-08-13 |
Family
ID=54666042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510642250.XA Active CN105118069B (zh) | 2015-09-30 | 2015-09-30 | 一种复杂环境直线检测和筛选方法及应用该方法的机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105118069B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977907B (zh) * | 2019-04-04 | 2021-08-27 | 厦门商集网络科技有限责任公司 | 基于票据识别的费用报销方法及其*** |
CN112215126B (zh) * | 2020-10-09 | 2022-10-25 | 西安交通大学 | 一种基于非下采样Contourlet变换的直线目标检测方法及*** |
CN112263188B (zh) * | 2020-10-22 | 2022-04-05 | 湖南格兰博智能科技有限责任公司 | 一种移动机器人行进方向的矫正方法及其设备 |
CN112529014B (zh) * | 2020-12-14 | 2023-09-26 | 中国平安人寿保险股份有限公司 | 直线检测方法、信息提取方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178811A (zh) * | 2007-12-10 | 2008-05-14 | 北京航空航天大学 | 一种三步法结构光直线光条的图像特征提取方法 |
CN102122344A (zh) * | 2011-01-07 | 2011-07-13 | 南京理工大学 | 基于红外图像的道路边界检测方法 |
CN103700114A (zh) * | 2012-09-27 | 2014-04-02 | 中国航天科工集团第二研究院二O七所 | 一种基于可变高斯混合数的复杂背景建模方法 |
CN104331876A (zh) * | 2014-10-09 | 2015-02-04 | 北京配天技术有限公司 | 直线检测、图像处理的方法及相关装置 |
CN104657978A (zh) * | 2014-12-24 | 2015-05-27 | 福州大学 | 一种基于遥感图像道路形状特征的道路提取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101032446B1 (ko) * | 2009-11-26 | 2011-05-03 | 광주과학기술원 | 영상의 정점 검출 장치 및 방법 |
-
2015
- 2015-09-30 CN CN201510642250.XA patent/CN105118069B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178811A (zh) * | 2007-12-10 | 2008-05-14 | 北京航空航天大学 | 一种三步法结构光直线光条的图像特征提取方法 |
CN102122344A (zh) * | 2011-01-07 | 2011-07-13 | 南京理工大学 | 基于红外图像的道路边界检测方法 |
CN103700114A (zh) * | 2012-09-27 | 2014-04-02 | 中国航天科工集团第二研究院二O七所 | 一种基于可变高斯混合数的复杂背景建模方法 |
CN104331876A (zh) * | 2014-10-09 | 2015-02-04 | 北京配天技术有限公司 | 直线检测、图像处理的方法及相关装置 |
CN104657978A (zh) * | 2014-12-24 | 2015-05-27 | 福州大学 | 一种基于遥感图像道路形状特征的道路提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105118069A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107871124B (zh) | 一种基于深度神经网络的遥感图像目标检测方法 | |
CN106127204B (zh) | 一种全卷积神经网络的多方向水表读数区域检测算法 | |
CN108491757B (zh) | 基于多尺度特征学习的光学遥感图像目标检测方法 | |
CN104835175B (zh) | 一种基于视觉注意机制的核环境中目标检测方法 | |
CN105550678B (zh) | 基于全局显著边缘区域的人体动作特征提取方法 | |
CN109711288A (zh) | 基于特征金字塔和距离约束fcn的遥感船舶检测方法 | |
CN109241871A (zh) | 一种基于视频数据的公共区域人流跟踪方法 | |
CN103186904B (zh) | 图片轮廓提取方法及装置 | |
CN105118069B (zh) | 一种复杂环境直线检测和筛选方法及应用该方法的机器人 | |
CN109508710A (zh) | 基于改进YOLOv3网络的无人车夜间环境感知方法 | |
CN108875600A (zh) | 一种基于yolo的车辆信息检测和跟踪方法、装置及计算机存储介质 | |
CN108319949A (zh) | 一种高分辨率遥感图像中多朝向舰船目标检测与识别方法 | |
CN107832672A (zh) | 一种利用姿态信息设计多损失函数的行人重识别方法 | |
CN106846344A (zh) | 一种基于边缘完备度的图像分割最优识别方法 | |
CN109559320A (zh) | 基于空洞卷积深度神经网络实现视觉slam语义建图功能的方法及*** | |
CN108830285A (zh) | 一种基于Faster-RCNN的加强学习的目标检测方法 | |
CN108898047A (zh) | 基于分块遮挡感知的行人检测方法及*** | |
CN106709568A (zh) | 基于深层卷积网络的rgb‑d图像的物体检测和语义分割方法 | |
CN106408015A (zh) | 基于卷积神经网络的岔路口识别及深度估计方法 | |
CN107705288A (zh) | 伪目标运动强干扰下的危险气体泄漏红外视频检测方法 | |
CN106408030A (zh) | 基于中层语义属性和卷积神经网络的sar图像分类方法 | |
CN110232379A (zh) | 一种车辆姿态检测方法及*** | |
CN103927758B (zh) | 一种基于对比度与角点最小凸包的显著性检测方法 | |
CN106709518A (zh) | 基于Android平台的盲道识别*** | |
CN109685145A (zh) | 一种基于深度学习和图像处理的小物件检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220309 Address after: Room 101-110, 1st floor, building 8, Jinsheng Industrial Park, 611 Dongguan Road, Binjiang District, Hangzhou, Zhejiang 310000 Patentee after: HANGZHOU IPLUS TECH CO.,LTD. Address before: 310051 229, room 1, No. 475 Changhe Road, Changhe street, Binjiang District, Hangzhou, Zhejiang Patentee before: HANGZHOU NANJIANG ROBOTICS Co.,Ltd. |