CN117036641A - 一种基于双目视觉的公路场景三维重建与缺陷检测方法 - Google Patents
一种基于双目视觉的公路场景三维重建与缺陷检测方法 Download PDFInfo
- Publication number
- CN117036641A CN117036641A CN202310676408.XA CN202310676408A CN117036641A CN 117036641 A CN117036641 A CN 117036641A CN 202310676408 A CN202310676408 A CN 202310676408A CN 117036641 A CN117036641 A CN 117036641A
- Authority
- CN
- China
- Prior art keywords
- point
- image
- dimensional
- defect
- binocular
- 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.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 131
- 238000001514 detection method Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012937 correction Methods 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 10
- 230000004927 fusion Effects 0.000 claims description 26
- 230000003044 adaptive effect Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000011176 pooling Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 11
- 238000003708 edge detection Methods 0.000 claims description 11
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 238000013135 deep learning Methods 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 6
- 238000013508 migration Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 3
- CLSIFQGHPQDTHQ-DTWKUNHWSA-N (2s,3r)-2-[(4-carboxyphenyl)methyl]-3-hydroxybutanedioic acid Chemical compound OC(=O)[C@H](O)[C@@H](C(O)=O)CC1=CC=C(C(O)=O)C=C1 CLSIFQGHPQDTHQ-DTWKUNHWSA-N 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 13
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000000007 visual effect Effects 0.000 abstract description 3
- 239000011159 matrix material Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 230000001965 increasing effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013526 transfer learning Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000004568 cement Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012966 insertion method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- 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/20081—Training; Learning
-
- 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/20084—Artificial neural networks [ANN]
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30132—Masonry; Concrete
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本发明为解决现有技术中针对道路质量检测存在的图像处理较为粗略、缺陷的显示方式不够直观问题,提供一种基于双目视觉的公路场景三维重建与缺陷检测方法。该方法包括以下步骤:采用张正友标定法标定双目相机;路面缺陷识别;立体校正;立体匹配,并得到视差图;选取视差图上的特征点,计算深度值,得到三维点云数据;对三维点云数据进行Delaunay三角剖分、纹理映射,重建得到公路场景三维模型,并在公路场景三维模型上显示出路面缺陷。该方法多种算法结合,大大提高图像处理的精度和准确性较高,图像处理的效率也大大提升,且在公路场景三维模型能够着重、直观显示路面缺陷的大小和深度,利于后续维修人员操作。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于双目视觉的公路场景三维重建与缺陷检测方法。
背景技术
随着中国道路基建项目的高度重视和蓬勃发展,现如今所修建的道路已可谓“四通八达”,而道路作为两地因山脉或江河阻隔的唯一联通工具,在基建中受到了足够的重视。但由于每条道路的最高承重量有限,所以日益高强度的使用不可避免地会导致道路出现些许病害。
道路一旦出现故障(坑洼、裂缝等缺陷),可能导致的后果将不可估量。目前,对于道路的定期维修和故障检测普遍还是采用的人工方法,但这种方法不仅效率低下、容易出现纰漏,而且极有可能对检修人员的安全造成隐患。由此,现在逐渐发展为无人机道路巡检,主要通过使用无人机采集图像,然后分析图像中是否存在缺陷,从而判断当前路段质量是否合格等。
比如,中国发明(授权公告号:CN115457041B,授权公告日:20230214)公开了一种道路质量识别检测方法,该方法包括:获取道路表面灰度图像,对道路表面灰度图像进行分割获取车道线区域,进而得到优选道路图像;利用设定尺寸的窗口对优选道路图像进行处理,根据窗口内像素点的灰度等级计算窗口对应的灰度均匀程度,确定可能缺陷区域;根据骨架细化后的可能缺陷区域内像素点的霍夫直线检测投票值得到像素点的缺陷可能性,进而得到灰度等级对应的缺陷概率值;根据缺陷概率值构件缺陷特征矩阵,根据该矩阵的能量特征值确定超像素块的尺寸大小,进而进行超像素分割得到缺陷区域,再进行识别得到质量识别结果。
然而,该现有技术中的道路质量识别检测方法中,还存在图像处理较为粗略、缺陷的显示方式不够直观等缺陷。
发明内容
本发明为解决现有技术中针对道路质量检测存在的图像处理较为粗略、缺陷的显示方式不够直观问题,提供一种基于双目视觉的公路场景三维重建与缺陷检测方法。该方法多种算法结合,大大提高图像处理的精度和准确性,图像处理的效率也大大提升,且在公路场景三维模型能够着重、直观显示路面缺陷的大小和深度,利于后续维修人员操作。
本发明采用的技术方案是:
一种基于双目视觉的公路场景三维重建与缺陷检测方法,所述方法包括以下步骤:
步骤S1,采用张正友标定法,使用黑白棋盘作为标定板,获取双目相机的相关参数;
步骤S2,利用搭载了双目相机的设备对路面进行巡航拍摄,获得二维的多组双目图片,并将双目图片分别送入YOLOv5路面缺陷识别模型,识别、判定是否存在路面缺陷;
若判定结果为存在路面缺陷,则输出路面缺陷类型;
步骤S3,采用Bouguet算法对双目图片进行立体校正,使每组双目图片实现共面和行对准;
步骤S4,采用融合边缘特征的自适应图像匹配算法对成双目图片进行立体匹配,并得到视差图;
步骤S5,选取视差图上的特征点,并计算每个特征点的深度值,得到三维点云数据;同时,通过深度值计算得到路面缺陷在公路场景中离双目相机拍摄地的距离与世界坐标系;
步骤S6,对三维点云数据进行Delaunay三角剖分、纹理映射,重建得到公路场景三维模型,并在公路场景三维模型上显示出路面缺陷。
进一步地,所述步骤S2中的YOLOv5路面缺陷识别模型中,在模型的空间金字塔池化模块SPP中引入自适应空间融合模块ASF,得到新的SPP_ASF模块;该SPP_ASF模块可对不同比例尺的特征图生成自适应权重,增加YOLOv5路面缺陷识别模型的适应性。
进一步地,所述步骤S2中的YOLOv5路面缺陷识别模型中,在模型的Neck网络中引入自适应池化注意力模块AAM替换积注意力模块CBMA;该自适应池化注意力模块AAM主要利用通道维度和空间维度的注意力权重来映射融合特征,从而增强YOLOv5路面缺陷识别模型对重要特征的注意,提高YOLOv5路面缺陷识别模型对目标的检测能力。
进一步地,所述步骤S2中YOLOv5路面缺陷识别模型时,将VOC2012数据集作为源域,墙体缺陷开源数据集crack-detection-master作为辅助域,公路路面缺陷图像作为目标域;由此,在VOC2012数据集基础上训练得出的源域模型,再通过墙体缺陷开源数据集crack-detection-master训练得到辅助域模型,最后将路面缺陷图像识别导入辅助域模型进行训练,实现参数迁移,得到YOLOv5路面缺陷识别模型。
进一步地,所述步骤S4中联合图像融合的自适应图像匹配算法对成双目图片进行立体匹配的具体过程包括:
步骤S41,采用基于深度学习的图像融合算法对双目图片进行图像清晰度增强,然后对增强后的双目图片进行边缘特征检测,并转换为边缘特征图;
步骤S42,建立图像金字塔,采用改进的ORB算法提取边缘特征图上的特征点,使特征点在特征描述后具有尺度不变性;
步骤S43,采用SURF描述子进行特征点描述;
步骤S44,采用自适应FLANN算法结合RANSAC算法进行图像立体匹配,具体为:确定预设阈值在0~1区间内阈值与匹配正确率及点数的关系,确定在0~0.3区间内,特征点对为优秀特征点对,0.3~0.8之间内特征点对为待匹配特征点对,再通过引入RANSAC算法将FLANN算法筛选出来的待匹配点对进行错误匹配点对的剔除;最后将完成剔除后的匹配点对与经自适应FLANN算法保留的优秀匹配点对融合,完成匹配;同时,特征点在匹配过程中引入交叉匹配。
进一步地,所述步骤S5中选取视差图上的特征点的具体过程包括:
步骤S51,设定总特征提取点数为N,深度变化大的特征点数I,相邻特征点间最短欧氏距离为Ed,立体匹配得出的视差图Q;
步骤S52,对视差图Q进行梯度值计算,然后找到梯度值最大的点C1,首先选取该点为特征点;
步骤S53,在视差图Q中,以点C1为圆心,Ed为半径的周围区域进行梯度置零操作;
步骤S54,重复步骤S52和步骤S53,直至选取的特征点数量不小于I;
步骤S55,对视差图Q剩余的深度变化较低的零散区域进行特征点提取;规定视差图Q中一像素点坐标为(Ed,Ed),使其从视差图Q左上方开始进行遍历梯度值不为零的区域;若遍历到某点处时该像素点的上下左右4个方向距离为Ed的像素点的梯度值都不为零,则选取该像素点为特征点,记为C2;
步骤S56,将C2点为圆心,Ed为半径的周围区域梯度置零;
步骤S57,重复步骤S55和步骤S56,直到已选取的总特征点数为N。
进一步地,所述步骤S6中对三维点云数据进行Delaunay三角剖分的过程采用基于方向搜索的插入点快速定位方法,该方法可以快速定位到包含插入点的三角形,具体过程为:
步骤S61,设G为三角形的质心,P表示要插入的点,并将新生成的三角形作为初始三角形;
步骤S62,从初始三角形开始,搜索方向由G和P的相对位置决定,当G和P位于某条边的不同侧面时,下一个要搜索的三角形就是与该边相邻的三角形;
步骤S63,当G和P在三角形三条边的同一侧时,停止搜索,即该三角形包含了有要插入的点。
进一步地,所述步骤S6中在公路场景三维模型上显示出路面缺陷时,先在阈值分割与路面缺陷边缘检测的基础上对公路场景三维模型进行整体的缺陷检测,然后调用OpenCV函数库里的CV.circle函数来进行范围圈内的缺陷着重显示的操作。
进一步地,所述步骤S6中阈值分割时,将公路场景三维模型图像上的像素点的灰度值设置为0或255,以呈现出明显的黑白效果,具体包括以下步骤:
步骤S64,选取某一像素点,计算该像素点领域的均值、中值、高斯加权平均值,以及计算该像素点附近区域的图像亮暗拉伸对比度;
步骤S65,比较计算出的该像素点领域的均值、中值、高斯加权平均值,以及比较该像素点附近区域的图像亮暗拉伸对比度与高斯加权平均值;
若图像亮暗拉伸对比度小于高斯加权平均值,则将该像素点的像素置为255,否则置0。
进一步地,所述步骤S6中边缘检测时,采用Canny算子进行边缘检测,达到路面缺陷在三维模型中整体被分割出并着重显示的目的,具体包括以下步骤:
步骤S66,对完成阈值分割后的公路场景三维模型图像进行预处理,然后计算图像梯度,得到梯度图以及梯度的方向和大小;
步骤S67,在获得了梯度的方向和大小之后,扫描整幅梯度图,去除非边界上的点;同时,对每一个像素点进行检查,看该像素点的梯度是否为周围具有相同梯度方向的像素点中最大的;若是,则保留;
步骤S68,设置阈值minVal和阈值maxVal;
当保留的像素点的梯度高于阈值maxVal时被认为是真的边界点,低于阈值minVal则被抛弃;
如果当保留的像素点的梯度介于阈值minVal和阈值maxVal之间,观察该像素点是否与某个被确定为真正的边界点相连;如果是,则认为该像素点也是边界点,否则抛弃。
本发明的有益效果是:
本发明提供了一种基于双目视觉的公路场景三维重建与缺陷检测方法,该方法中利用搭载了双目相机的设备对路面进行巡航拍摄,获得二维的多组双目图片,并将双目图片分别送入YOLOv5路面缺陷识别模型,识别、判定是否存在路面缺陷;然后依次采用Bouguet算法、融合边缘特征的自适应图像匹配算法等,完成立体校正和立体匹配,得到视差图和三维点云数据;最后对三维点云数据进行Delaunay三角剖分、纹理映射,重建得到公路场景三维模型,并在公路场景三维模型上显示出路面缺陷。本发明中采用多种算法结合,大大提高图像处理的精度和准确性,图像处理的效率也大大提升,且在公路场景三维模型能够着重、直观显示路面缺陷的大小和深度,利于后续维修人员操作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或有现技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实施例中基于双目视觉的公路场景三维重建与缺陷检测方法的流程示意图。
图2为ZED 2i双目相机采集的标定板一组双目图片。
图3中示出了两组带有路面缺陷的路面实景照片。
图4为基于SPP_ASF模块的改进YOLOv5网络结构。
图5为自适应池化注意力模块AAM的具体结构示意图。
图6为基于级联融合的改进YOLOv5模型结构示意图。
图7为迁移学习的流程。
图8为Yolov5路面缺陷识别模型的识别结果图。
图9为双目图片的立体校正的效果图。
图10为融合边缘特征的自适应图像匹配算法对成双目图片进行立体匹配的流程图。
图11示出了基于深度学习的图像融合算法增强图像清晰度的效果图。
图12为图像金字塔特征检测示意图。
图13为不同算法下的立体匹配效果图。
图14为双目平行光轴结构下的深度值计算原理图。
图15为梯度值逐级下降的均匀化特征提取算法的计算流程。
图16为由视差图得到三维点云效果图。
图17为视差与深度的关系图。
图18为最终测距图。
图19为基于投影的Delaunay三角剖分的原理图。
图20为方向搜索方法的流程示意图。
图21为三维重建结果图。
图22为梯度图。
图23为边界点确认示意图。
图24为公路场景三维模型上路面缺陷着重显示示意图。
具体实施方式
下面结合附图对发明的实施例进行详细说明。
本实施例中提供一种基于双目视觉的公路场景三维重建与缺陷检测方法,其流程如附图1所述。该方法包括以下步骤:
步骤S1,采用张正友标定法,使用黑白棋盘作为标定板,获取双目相机的相关参数;
步骤S2,利用搭载了双目相机的设备对路面进行巡航拍摄,获得二维的多组双目图片,并将双目图片分别送入YOLOv5路面缺陷识别模型,识别、判定是否存在路面缺陷;
若判定结果为存在路面缺陷,则输出路面缺陷类型(比如裂纹或者坑洼);
步骤S3,采用Bouguet算法对双目图片进行立体校正,使每组双目图片实现共面和行对准;
步骤S4,联合图像融合的自适应图像匹配算法对成双目图片进行立体匹配,并得到视差图;
步骤S5,选取视差图上的特征点,并计算每个特征点的深度值,得到三维点云数据;同时,通过深度值计算得到路面缺陷在公路场景中离双目相机拍摄地的距离与世界坐标系;
步骤S6,对三维点云数据进行Delaunay三角剖分、纹理映射,重建得到公路场景三维模型,并在公路场景三维模型上显示出路面缺陷。
以下结合具体的案例对本发明创造作出进一步说明。
(一)双目相机的内参矩阵和畸变参数获取
本实施例中采用9*6规格的黑白棋盘格作为标定板,利用ZED 2i双目相机采集了22组正常情况下不同角度和距离的标定板照片,然后利用Windows操作系统下的Matlab软件中的Stereo Camera Calibrator工具箱对左、右相机进行标定。其中,附图2示出了ZED2i双目相机采集的标定板一组双目图片。
标定后的左相机的内参矩阵和畸变参数如下:
, (公式1)
。 (公式2)
右相机的内参矩阵和畸变参数如下:
,(公式3)
。 (公式4)
最后,通过左、右相机的联合标定,可得出旋转矩阵
和平移矩阵
:
, (公式5)
。 (公式6)
(二)巡航拍摄、路面缺陷识别
利用已知相关参数的ZED 2i双目相机对路面进行巡航拍摄,ZED 2i双目相机可负载于无人机上。附图3中示出了两组带有路面缺陷(裂缝、坑洼等)的路面实景照片。其中,附图3a为裂缝,附图3b为坑洼。对拍摄的双目图片进行整理并查找出拥有路面缺陷的双目图片。具体为将双目图片分别送入YOLOv5路面缺陷识别模型中,由YOLOv5路面缺陷识别模型识别、判定。
路面缺陷的检测对于确保日常交通安全运行是非常重要的。传统YOLOv5模型在检测过程中需面对目标尺度的较大变化和背景信息的干扰,由此本实施例中进一步优化了YOLOv5路面缺陷识别模型,主要可以包括以下方面:
(1)在日常对公路进行缺陷检测时,相机与路面之间的距离往往会带来缺陷尺度大小的变化,且本实施例中所涉及的复杂场景往往伴随着夜间的弱光环境与白天的强光环境,故对于路面缺陷所能够提供的像素信息相对稀缺。因此,如果网络的深度很深,小目标的信息在多次下采样之后就会丢失,从而使小目标难以被检测。
自适应空间融合(The Adapative Spatial, ASF)模块采用了一种类似于空间注意的方法,通过卷积对不同感受野的特征产生自适应空间权重,可以有效地融合不同感受野的特征,增强特征的表示能力。自适应空间融合模块ASF可以为不同感受野的上下文特征生成空间权重图,并根据权重进行自适应融合。这种方法比直接拼接更有效,而且几乎不会带来额外的计算量。考虑到YOLOv5中的空间金字塔池化模块SPP通过池化操作生成不同比例尺的特征图,在原有SPP模块中引入ASF模块,对不同比例尺的特征图生成自适应权重,得到新的SPP_ASF模块。SPP_ASF模块首先通过固定尺度的分支池化生成不同接受野的特征图,其网络结构如附图4所示。附图4中网络结构中将传统YOLOv5中的SPP模块改进为SPP_ASF模块,通过增加自适应模块来增加模型的适应性。同时,整个模型不会因为自适应模块的增加而增加检测时间。在某种程度上,这是SPP_ASF模块所具有的独特优势。通过ASF模块对通道进行压缩,并嵌入空间信息,得到空间注意图。对上下文的特征进行加权,生成包含多尺度上下文信息的新特征。因此,SPP_ASF模块比原来的SPP模块具有更强的特征表示能力。
(2)由于路面缺陷在检测过程中容易受到背景信息的干扰,传统的YOLOv5网络模型需要进一步改进。在研究和借鉴主流注意力模型的基础上,本实施例提出了一种自适应池化注意力模块,并在YOLOv5模型的Neck网络中引入自适应池化注意力模块,增强模型对重要特征的关注能力,减少了无关信息的干扰。
传统的注意力机制模块如卷积注意力模块(Convolutional Block attentionmodule, CBAM)通过卷积提取空间维度的位置信息,但在使用全局平均池化(GlobalAverage Pooling, GAP)和全局最大池化(Global Max Pooling, GMP)进行特征降维时,没有考虑全局平均池化和全局最大池化的差异和贡献。因此,本实施例在研究CBAM的基础上,提出了一种自适应池化注意力模块(Adaptive pooling Attention Module, AAM)。自适应池化注意力模块AAM主要利用通道维度和空间维度的注意力权重来映射融合特征,从而增强模型对重要特征的注意,提高模型对目标的检测能力。自适应池化注意力模块AAM的具体结构如图5所示。与传统的CBAM模块不同,ECA(Efficient Channel Attention)模块作为信道注意力的子模块引入,避免了信道的降维问题。此外,为了区分GAP和GMP的贡献,引入了自适应权重,增强了缺陷信息的筛选能力,减少了背景信息的干扰。
(3)在对于户外场景的公路缺陷检测中,往往会同时出现多尺度目标难以检测和目标受背景信息影响的问题。在前述改进的基础上,本实施例中进一步提出了一种级联融合改进方法来改进YOLOv5模型,即是在YOLOv5模型上同时引入了SPP_ASF模块和AAM模块,提高复杂环境下公路路面缺陷检测的效果,具体融合和改进后的YOLOv5网络结构如图6所示。
(4)目前利用深度学习来进行路面缺陷方面的检测处于一个“心有余而力不足的状态”,由于路面缺陷类型数据集样本数量较少,故当进行缺陷识别时会出现收敛速度慢,过拟合现象突出等问题。考虑到路面所能够发生的缺陷如裂缝、坑洼等在室内墙体缺陷中同样存在,且两者的缺陷背景(水泥等)在表现上具有相似性,故本实施例中选用墙体缺陷数据集作为辅助来进行迁移学习。
本实施例中进行迁移学习的基础是深度学习模型,将VOC2012数据集作为源域,墙体缺陷开源数据集crack-detection-master作为辅助域,公路路面缺陷图像作为目标域。附图7示出了迁移学习的流程。通过以上改进后的Yolov5模型算法在VOC2012数据集基础上训练得出的源域模型,再通过墙体缺陷数据集训练得到辅助域模型,最后在路面缺陷识别中载入辅助域模型进行训练,从而最终实现了参数的迁移。
采用改进后的Yolov5路面缺陷识别模型的识别结果附图8所示,其中附图8a为裂缝识别结果,附图8b为坑洼识别结果。从图中显示的识别结果显示Yolov5路面缺陷识别模型具有较高的识别精度。
(三)立体矫正
由于双目相机自身镜头存在的畸变效果,导致左、右相机分别对目标场景的拍摄出现了部分失真,即两幅场景的同一像素点并不在同一水平线上,为了方便后续立体匹配工作的进行,需提前对双目图片对进行立体校正。
一般在立体校正的方法中,最为常用的就是Bouguet算法和Hartley算法。由于Hartley算法只利用单目相机的运动过程获取立体结构,而本实施例中已求得双目相机的相关参数,故在立体重建方面使用Bouguet算法。Bouguet算法的核心原理就是利用已经获得的立体图像之间的旋转矩阵R和平移矩阵T,使两图像中的每一幅重投影次数最小化,同时使得观测面积最大化。
为了使图像重投影,将右相机图像平面旋转到左相机图像平面的旋转矩阵R被分离成图像之间的两部分,称之为左、右相机的两个合成旋转矩阵rl和rr 。每个相机都旋转一半,使主光线就平行地指向其原主光线指向的方向的向量和方向,这样旋转可以让相机共面但是行没有对准。
为了计算左相机极点变换到无穷远点并使极限水平对准的矩阵Rrect,创建一个由极点e1方向开始的旋转矩阵。让主点(Cx,Cy)作为左图像的原点,极点的方向就是左、右机投影中心之间的平移向量方向:
。 (公式7)
下一个向量e2必须与e1正交,没有其他限制。对e2而言,很好的一个选择就是与主光线正交的方向,这可以通过计算e1和主光线方向的外积,然后将它归一化到单位向量:
。 (公式8)
第三个向量e3只与e1和e2正交,那么e3可取如下值:
。 (公式9)
那么,将左相机的极点转换到无穷远点的矩阵如下:
。 (公式10)
该矩阵将左图像绕着投影中心旋转,使得极限变成水平,并且极点在无穷远点。左、右相机的行对准通过设定来实现:
。 (公式11)
同样可以计算校正后的左、右相机的矩阵Rrect_l和Rrect_r,且投影矩阵pl和pr如下:
, (公式12)
。 (公式13)
其中,al和ar是像素畸变比例。投影矩阵实现将齐次坐标中的3D点转换到如下齐次坐标系下的2D点:
。 (公式14)
其中,屏幕坐标为。如果给定屏幕坐标和相机内参矩阵,二维点同样可以重映到三维中,重投影矩阵如下:
。 (公式15)
其中,除外的所有参数都来自于左图像,且/>是主点在右图像上的x坐标。如果主光线在无穷远处,那么/>,并且右下角的项为0。给定一个二维齐次点和其关联的视差d,可以将此点投影到三维中:
, (公式16)
三维坐标就是。
通过不停左、右图像平面重映射,直到满足双目立体图形达到理想的平行配置。最后为使左、右相机图像的叠加面积最大,重新选取中心,并将图像已经校正好的部分剪切下来,从而完成双目图片的立体校正,如附图9所示。其中,附图9a为裂缝的双目图片立体校正,附图9b为坑洼的双目图片立体校正。
(四)立体匹配
考虑到路面处于户外场景中,此类区域通常存在不同强度的纹理信息且结构也非结构化。本实施例出于匹配准确率和实效性两方面的综合比较,在双目视觉领域中特征立体匹配算法这一冗杂的大环境下,提出了一种“取其精华,去其糟粕”的ORB特征检测+SURF特征描述+FLANN匹配器的全新立体匹配体系,采用联合图像融合的自适应图像匹配算法对成双目图片进行立体匹配,其流程如附图10所示。具体而言,包括以下步骤:
(1)联合图像融合算法改进的ORB特征检测。ORB算法包括FAST特征检测和BRIEF特征描述两部分。众所周知,在利用相机对某一目的场景进行拍摄时,由于聚焦点只有一个,故不可避免地会出现某些区域由于不聚焦而导致模糊。本实施例中改进的特征检测算法在原有算法的基础上,主要考虑到所拍摄的二维视图中容易存在某一区域远景或某一区域近景由于并不聚焦于此部分区域而导致图像模糊,难以检测出特征点,故引进了基于深度学习的图像融合算法。该方法主要目的即为增强图像清晰度,避免由于图像模糊而导致难以检测到关键特征点。具体操作步骤如下:
对拟需要进行特征检测的场景在同一视角拍摄数量大于1的二维图像;
不同时刻的二维图像均会存在同一区域得出不同的清晰度,这是由于聚焦点随时游走而难以避免的;
利用图像融合网络,对同一场景同一拍摄视角下的不同时刻的二维图像进行融合,最终可得出不会存在模糊的二维图像。
附图11示出了基于深度学习的图像融合算法增强图像清晰度的效果图。其中,附图11a、附图11b和附图11c为对同一区域获取的不同时刻的源图像,附图11d为融合图像。从图中可以直观地看出,前三幅源图像均存在不同区域的模糊现象,而最后一幅融合图像不存在任何模糊现象。
在对于新产生的无模糊状态的场景,即可开始进行特征检测步骤。传统FAST算法对特征点的定义是如果一个像素点的灰度值远远大于或小于一定范围和一定数量的像素灰度值,则该像素点可能成为特征点。在本实施例所提出的联合图像融合算法的ORB特征检测算法中,在原有算法的基础和已得出无模糊融合图像的基础上引入了图像金字塔概念。具体而言如下:
在已进行图像融合后的融合图像上,采用引入了图像金字塔概念的ORB算法。在判断特征点时,将其与相邻的尺度图像进行相加比较,建立图像金字塔,实现算法的尺度不变性,如图12所示。
首先对融合图像进行滤波,图像中任意给定像素I(x,y)在σ尺度下的高斯卷积如下所示:
。 (公式17)
其中,Lxy(x,y,σ)是高斯二阶偏导数与像素卷积的结果。高斯核函数为:
。 (公式18)
从最低的图像开始,最终生成n张不同分辨率的图像。在向上排列的过程中,图像的像素依次减少,最后金字塔的最顶层只有一个像素。本实施例在两座金字塔的每一层检测特征点,并将每一层检测出的特征点与各自金字塔上一层检测出的特征点进行参照,这样能够使得在每一层中均可以被检测为特征点的像素点作为强纹理像素点,最终再在两座金字塔之间实现不同尺度或不同分辨率下的图像匹配。
(2)SURF描述子。SURF算法因其良好的旋转鲁棒性和模糊鲁棒性脱颖而出。在特征点已被前述算法精准定位后,本实施例的思想是利用这些特征点来替代SURF算法中已被Hessian所识别出来的尺度和选择不变的特征点。在进行两两图像的特征匹配前,需要通过计算获取特征点的位置和方向信息,然后生成所需要的16*4=64维特征描述子。
(3)改进的FLANN自适应图像匹配方法。传统的FLANN算法采用经验阈值来判断匹配点对之间是否匹配,这使得在不同复杂度的图像上选择合理的阈值非常耗时,且无法保证匹配精度。本实施例中对其进行了自适应研究,使其能够在不预设阈值的情况下很好地应用于不同场景。
传统的FLANN算法需要预先设定阈值τ。当特征点与待匹配点的最近邻距离之比和特征点与下一个最近邻距离之比小于阈值时,则匹配成功,反之大于阈值则匹配失败。如下公式所示:
。 (公式19)
式中,Dm 表示最接近的欧氏距离,Dn表示第二接近的欧氏距离。
本实施例中对FLANN算法需要一个预设阈值进行改进。改进的方法是利用不同阈值的匹配精度结合RANSAC算法,有效地去除虚假匹配,进一步优化匹配精度和匹配耗时问题。预设地阈值不仅会造成大量特征匹配对的丢失,影响匹配精度,而且由于需要选择合理的阈值,导致大量耗时的准备工作。通过对图像集的匹配,发现当阈值小于0.3时,匹配准确率大于99%,但是此时特征点对很少,此时可以保留匹配对。当阈值大于0.8时,算法的误匹配率显著提高,同时也伴随着特征点对的增多。因此,此阈值的匹配对的利用率较低,将其直接丢弃。当阈值在0.3~0.8之间时,本实施例对此区间的匹配对进行保留,并使用RANSAC算法消除虚假误匹配对。最后,将小于阈值0.3的优秀匹配点对集与剔除了错误匹配点对的特征点对集结合完成匹配。
(4)马氏(Mahalanobis)距离。欧氏距离对不同维度之间的差异等同看待,极易导致特征点的误匹配。而马氏距离修正了这一缺点,考虑了各种特性之间的联系。并在计算时添加了交叉匹配,通俗理解即匹配图像的某个特征点在待匹配图像中搜寻到对应点后,再根据此对应点返回去搜索匹配图像中的特征点,观察两个过程所得出的两个点是否对应,若是则视为一对匹配点。两个特征点X,Y之间的马氏距离计算公式如下所示。
, (公式20)/>
。 (公式21)
式中,S为两个特征点的协方差矩阵,E为均值。当协方差是单位矩阵时,也就是各维度独立分布,马氏距离就变成了欧氏距离。该方法在仅增加了细微运算量的基础上,大幅度减小了误匹配风险,体现出了良好的匹配效果和实时性。
综上,对比常用的传统立体匹配体系与本实施例中提出的立体匹配体系,场景利用灯光布置为过曝效果,结果如附图13所示。其中,附图13a为传统ORB算法,附图13b为SIFT算法,附图13c为SURF算法,附图13d为AKAZE算法,附图13e为BRISK算法,附图13f为本实施中的算法。
(五)视差图深度值计算
深度值的计算是求取空间三维点集的过程,其包括特征点选取和深度值计算两部分。在进行双目三维重建项目时,双目相机对于待重建场景的拍摄一般可以采取固定机位和平行结构的姿态。如附图14所示即是双目平行光轴结构下的深度值计算原理图。
如附图14所示,点P(Xw,Yw,Zw)三维空间中的一个被观测点,它在左、右相机的成像平面上分别对应点P(ul,vl)和点P(ur,vr),点OCL和点OCR分别表示左、右相机的光心。通过观察很明显看出,这5个点在空间中的关系符合三角测量原理。
由于左、右相机的主光线轴水平平行,故两相机坐标系的X轴重合,即视差d只会存在于X的方向上。其中,视差d计算公式为:
。 (公式22)
利用相似三角形判定性质可以得出:
。 (公式23)
结合以上两式, P点的深度值z可表示为:
。(公式24)
结合深度计算公式,最终可求得P点深度信息为:
。(公式25)
式中,f为相机焦距,B表示左、右相机光心距离,d为视差值。通过公式看出,在已知左、右相机相关参数的情况下,只需要知道空间点在左右图像上的对应点位置就可以判断出物体的深度信息。
通过以上公式求解过程可以准确地得到空间中某点的三维坐标,但为满足所待重建公路场景的重建精度与实效性,需首先考虑所提取特征点集的分布,再计算特征点的三维坐标。目前对存在弱纹理信息的场景进行重建是一项较为困难的事,由于该部分区域相较于周围场景所含信息极少,在满足场景重建效率的同时极难保证重建的质量。在往常固定的深度值计算步骤中,由于在进行特征点提取时只会机械地在纹理信息强、深度变化较大的区域进行提取,而对于处于同一场景背景下的弱纹理、低对照的区域极难有特征点能够提取过去。当面对某一场景本身占有大量弱纹理区域时,难以提取特征点会是阻碍形成有效可视化三维模型的首要问题。
为满足精度和效率的双重标准,就需要考虑提取特征点的分布情况,再计算特征点的三维坐标,从而形成更为有效的三维点云。特征点的分布与所需要重建的环境密切相关,且非结构化场景往往处于自然环境中,图像纹理分布不一,易导致特征点分布过密或过疏,这些都将影响后续的纹理映射精度。因此,在深度值计算前应该着重考虑所提取特征点的分布情况。
第一,特征点应在深度信息变化大的区域提取,选择质量优良的特征点。
第二,特征点的分布不能过密。
第三,深度变化微弱的区域也应当提取部分特征点,以免造成该部分区域三维信息的丢失。
根据以上思想,本实施例提出了一种梯度值逐级下降的均匀化特征提取算法(Homogenized feature extraction algorithm based on gradient value decreasingstep by step,GVDS),该算法的计算步骤如下,如附图15所示:
(1)设定总特征提取点数为N,深度变化大的特征点数I,相邻特征点间最短欧氏距离为Ed,立体匹配得出的视差图Q。
(2)对视差图Q进行梯度值计算,然后找到梯度值最大的点C1,首先选取该点为特征点。
(3)为避免特征点分布过密,因此取完一处特征点后,需将其一定范围内周围像素的梯度置零。在视差图Q中,以点C1为圆心,Ed为半径的周围区域进行梯度置零操作。
(4)重复步骤(2)和步骤(3),直至选取的特征点数量不小于I。
(5)对视差图Q剩余的深度变化较低的零散区域进行特征点提取。规定视差图Q中一像素点坐标为(Ed,Ed),使其从视差图Q左上方开始进行遍历梯度值不为零的区域。若遍历到某点处时该像素点的上下左右4个方向距离为Ed的像素点的梯度值都不为零,则选取该像素点为特征点,记为C2。
(6)将C2点为圆心,Ed为半径的周围区域梯度置零。
(7)重复步骤(5)和步骤(6),直到已选取的总特征点数为N。
为获得较好的重建效果,GVDS特征提取算法考虑了特征点最好取在深度变化较大的区域,梯度置零操作也避免了特征点分布密集。同时在深度变化小的平坦区域也提取到了部分特征点。
利用此GVDS特征提取算法能够良好的应用在所拍摄的缺陷路面图片中,避免了由于弱纹理结构难以提取特征点而导致了三维点云效果的丢失。本实施例中所得出的三维点云效果如附图16所示。其中,附图16a为裂缝场景,附图16b为坑洼场景。
双目测距主要依据即是得到了视差图之后,在视差基础之上来计算像素深度。其中,视差与深度的关系如附图17所示。在通过立体匹配得出相应场景的视差图后,利用深度值计算中的公式可以准确地求出缺陷部分在场景中离双目相机拍摄地的距离与世界坐标系。某裂纹缺陷的最终测距图如附图18所示。
(六)三维重建
根据上述重建步骤所生成的三维点在三维空间中是随即散漫存在的,如果要形成最终的高精度可视化的纹理映射模型,还需对这些三维点集进行三角剖分以形成一个整体的三维网格骨架模型。由于三角形是构成平面的最小单位,它在旋转过程中不易变形。因此,选择三角形作为进行三角剖分的基本单位。如图19所示,基于投影的Delaunay三角剖分大致分为以下三个步骤:
(1)使用基于法线方向的正交投影将三维点映射到二维平面,得到二维点。
(2)根据Delaunay准则对映射得到的二维点集进行三角剖分,确定点之间的拓扑连接关系。
(3)根据平面上投影点的拓扑关系,确定原始三维点之间的拓扑连接关系,得到的三维骨架网格,即为重建曲面的模型。
在三角剖分中,Bowyer-Watson法是目前最常用的逐点插入法,但在该方法实施过程中,每次插入一个点时,都必须找到包含插入点的三角形和插入点的影响范围。原始的Bowyer-Watson方法需要遍历所有三角形的边和顶点。由于本发明所针对场景为大尺度户外场景,故随着三角形的增加,这两步的时间成本将显著增加。为了实现三角剖分的高实时性与高精度,本发明提出了一种基于方向搜索的插入点快速定位方法,该方法可以快速定位到包含插入点的三角形。设G为三角形的质心,P表示要插入的点,并将新生成的三角形作为初始三角形。从初始三角形开始,搜索方向由G和P的相对位置决定,当G和P位于某条边的不同侧面时,下一个要搜索的三角形就是与该边相邻的三角形。当G和P在三角形三条边的同一侧时。停止搜索,即这个三角形包含了有要插入的点。方向搜索方法如附图20所示。
在附图20中,P为待插入点,S为初始三角形,T为目标三角形。在算法实现上,三角形的顶点是顺时针排列的,这样使得三角形的重心总是在边缘的右侧,只需确定要插入的点是否在左边边缘即可。对于某些特殊情况:
(1)待插入的点位于三角形的某条边上,则视为在三角形内。
(2)要插入的点是三角形的顶点,则无需插入该点。
(3)要插入的点位于三角形某条边的延长线上,则它被认为与质心在边的同一侧,并继续评估下一个边缘。
基于方向搜索的插入点快速定位方法可以根据空间接近原理逐点插入,并快速定位包含点的三角形。
根据以上处理步骤,根据深度值计算所提取出的特征点已在三维空间中完成了相应的三角剖分,并最终通过场景二维照片将纹理信息映射到所形成的三维网格骨架模型上以完成纹理映射。最终公路场景三维重建结果图如附图20所示,其中,附图21a、附图21b和附图21c分别为平视、俯视和侧面角度裂缝场景最终三维重建图,附图21d、附图21e和附图21f分别为平视、俯视和侧面角度坑洼场景最终三维重建图。可以看出,利用本实施例中所提出的相应重建算法能够完全胜任重建任务,且所形成的公路场景三维模型在精度上能够达到工程所需要的模型精度。
在利用机器学习对路面缺陷精准识别之后,为了方便后续维修人员能够准确地知道所造成缺陷的大小与深度,故在三维模型中着重标注出缺陷显得尤为重要。
在日常点云检测或智能驾驶算法中,能够利用三维检测框清晰地标出相应的场景,但所需要的仪器通常比较复杂且成本高昂。由于双目相机能够产生的深度数据与激光雷达所产生的精度差异较大,故本实施例首先在阈值分割与边缘检测的基础上来对三维模型进行整体的缺陷检测。
在对图像进行分割时一个主要内容就是图像的二值化,即将图像上的点的灰度置为0或255,也就是将整个图像呈现出明显的黑白效果。本实施例中用I表示原图,R表示二值化之后的图,则二值化的过程可以用以下公式表示:
。 (公式26)
其中,thr表示所选取的阈值。二值化的过程就是当原图的像素灰度值大于阈值就将其变白,否则就将其变黑,即将256个亮度等级的灰度图像通过适当的阀值选取而将图像变为二个级别灰度级。在实际的图像处理中,根据需求来决定使用统一阈值还是不同区域使用不同阈值(自适应阈值)。
在考虑到三维模型多重色彩与灵活性较强的基础上,并参照三维重建模块中的立体匹配阶段,本实施例在阈值分割步骤中采用自适应阈值的分割方法。相较于传统的统一阈值例如OTSU算法和最大熵算法,通过本实施例中所提出的根据图像的亮暗拉伸对比程度来确定图片每一区域所适合的阈值,能够更有效地解决分割问题,为接下来的边缘检测做出良好的铺垫,其具体步骤描述如下:
(1)选取某一像素点,计算该像素点领域的均值、中值、高斯加权平均值。
(2)计算该像素附近区域的图像亮暗拉伸对比度。
(3)比较所计算出的均值、中值、高斯加权平均值,考虑到图像都是连续的,越靠近待处理位置的点关系越密切,越远离的地方关系越疏远。故采用高斯加权平均值更合理,即距离越近的点,权重越大。
(4)比较该点区域亮暗拉伸对比度与高斯加权平均值,若小于高斯加权平均值,则将该点像素置为255,否则置0。
在这种计算过程中,将每个像素点位置处的二值化阈值交由其周围邻域像素的分布来决定,不同的亮度、对比度、纹理信息的局部图像区域都将会拥有相对应的局部二值化阈值。
在对公路场景三维模型图像进行了阈值分割之后,本实施例的思想是再进行缺陷部分边缘检测来达到在公路场景三维模型中整体被分割出并着重显示的目的。常用的边缘检测算子有梯度算子、Laplacian算子或Canny算子,其中Canny算子因其低错误率与最优定位性脱颖而出。
本实施例即采用Canny算子来进行边缘检测,其具体实现流程描述如下:
(1)图像预处理。在进行Canny算法之前,需要对公路场景三维模型图像进行去噪,比如blur = cv2.GaussianBlur(img, (5,5),0),处理后的图像与原始公路场景三维模型图像相比稍微有点模糊。这样一个单独的一个像素噪声在经过高斯滤波的图像上变得几乎没有影响。
(2)计算图像梯度。Canny算法的基本思想与三维模块中深度值计算思想类似,即找寻一幅图像中灰度强度变化最强的位置。所谓变化最强,即指梯度方向梯度变化最大。对平滑后的图像使用Sobel算子计算水平方向和竖直方向的一阶导数(Gx和Gy)。根据得到的这两幅梯度图(Gx和Gy)找到边界的梯度和方向。如下所示:
, (公式27)
。 (公式28)
梯度的方向一般总是与边界垂直,总体可被归为四类:水平,垂直,两个对角线。
(3)非极大值抑制。在获得了梯度的方向和大小之后,应该对整幅梯度图做一个扫描,去除那些非边界上的点。对每一个像素点进行检查,看这个点的梯度是否为周围具有相同梯度方向的点中最大的。
如附图22所示的梯度图中,图中的数字代表了像素点的梯度强度,箭头方向代表了梯度方向。以第二排第三个像素点为例,由于梯度方向向上,则将这一点的强度(7)与其上下两个像素点的强度(5和4)作比较,由于这一点强度最大,则保留。
(4)滞后阈值。为了确定哪些边界才是真正的边界,这时需要设置阈值minVal和阈值maxVal。当保留的像素点的梯度高于阈值maxVal时被认为是真的边界点,那些低于minVal的像素点则被抛弃。如果介于两者之间的话,就要看这个像素点是否与某个被确定为真正的边界点相连,如果是就认为它也是边界点,如果不是就抛弃。如附图23所示,点A高于阈值maxVal所以是真正的边界点,点C虽然低于maxVal但高于minVal并与A相连,所以也被认为是真正的边界点。而B则被抛弃,因为其低于阈值maxVal且不与真正的边界点相连。
在对三维模型中相应的缺陷部位利用阈值分割与边缘检测进行范围显示后,本实施例利用OpenCV函数库里的CV.circle函数来进行范围圈内的缺陷着重显示的操作。CV.circle函数中包含圆(img)、圆的线条粗细(thickness)等参数,其中thickness是圆边界线的粗细像素。当对此参数数值置负数时,它会对圆域内的区域进行相应颜色RGB(X,Y,Z)的填充。
考虑到已有img和img中由边缘检测和阈值分割所得出的圆形,利用CV.circle函数中的thickness参数并对该参数进行赋负值的操作,最终使得了缺陷区域整体颜色的覆盖加深,如图24所示。其中,附图24a和附图24b为裂缝着重显示。附图24c和附图24d为坑洼着重显示。
Claims (10)
1.一种基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述方法包括以下步骤:
步骤S1,采用张正友标定法,使用黑白棋盘作为标定板,获取双目相机的相关参数;
步骤S2,利用搭载了双目相机的设备对路面进行巡航拍摄,获得二维的多组双目图片,并将双目图片分别送入YOLOv5路面缺陷识别模型,识别、判定是否存在路面缺陷;
若判定结果为存在路面缺陷,则输出路面缺陷类型;
步骤S3,采用Bouguet算法对双目图片进行立体校正,使每组双目图片实现共面和行对准;
步骤S4,联合图像融合的自适应图像匹配算法对成双目图片进行立体匹配,并得到视差图;
步骤S5,选取视差图上的特征点,并计算每个特征点的深度值,得到三维点云数据;同时,通过深度值计算得到路面缺陷在公路场景中离双目相机拍摄地的距离与世界坐标系;
步骤S6,对三维点云数据进行Delaunay三角剖分、纹理映射,重建得到公路场景三维模型,并在公路场景三维模型上显示出路面缺陷。
2.根据权利要求1所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S2中的YOLOv5路面缺陷识别模型中,在模型的空间金字塔池化模块SPP中引入自适应空间融合模块ASF,得到新的SPP_ASF模块;该SPP_ASF模块可对不同比例尺的特征图生成自适应权重,增加YOLOv5路面缺陷识别模型的适应性。
3.根据权利要求1或2所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S2中的YOLOv5路面缺陷识别模型中,在模型的Neck网络中引入自适应池化注意力模块AAM替换积注意力模块CBMA;该自适应池化注意力模块AAM主要利用通道维度和空间维度的注意力权重来映射融合特征,从而增强YOLOv5路面缺陷识别模型对重要特征的注意,提高YOLOv5路面缺陷识别模型对目标的检测能力。
4.根据权利要求1所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S2中YOLOv5路面缺陷识别模型时,将VOC2012数据集作为源域,墙体缺陷开源数据集crack-detection-master作为辅助域,公路路面缺陷图像作为目标域;由此,在VOC2012数据集基础上训练得出的源域模型,再通过墙体缺陷开源数据集crack-detection-master训练得到辅助域模型,最后将路面缺陷图像识别导入辅助域模型进行训练,实现参数迁移,得到YOLOv5路面缺陷识别模型。
5.根据权利要求1、2或4所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S4中联合图像融合的自适应图像匹配算法对成双目图片进行立体匹配的具体过程包括:
步骤S41,采用基于深度学习的图像融合算法对双目图片进行图像清晰度增强,然后对增强后的双目图片进行边缘特征检测,并转换为边缘特征图;
步骤S42,建立图像金字塔,采用改进的ORB算法提取边缘特征图上的特征点,使特征点在特征描述后具有尺度不变性;
步骤S43,采用SURF描述子进行特征点描述;
步骤S44,采用自适应FLANN算法结合RANSAC算法进行图像立体匹配,具体为:确定预设阈值在0~1区间内阈值与匹配正确率及点数的关系,确定在0~0.3区间内,特征点对为优秀特征点对,0.3~0.8之间内特征点对为待匹配特征点对,再通过引入RANSAC算法将FLANN算法筛选出来的待匹配点对进行错误匹配点对的剔除;最后将完成剔除后的匹配点对与经自适应FLANN算法保留的优秀匹配点对融合,完成匹配;同时,特征点在匹配过程中引入交叉匹配。
6.根据权利要求1所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S5中选取视差图上的特征点的具体过程包括:
步骤S51,设定总特征提取点数为N,深度变化大的特征点数I,相邻特征点间最短欧氏距离为Ed,立体匹配得出的视差图Q;
步骤S52,对视差图Q进行梯度值计算,然后找到梯度值最大的点C1,首先选取该点为特征点;
步骤S53,在视差图Q中,以点C1为圆心,Ed为半径的周围区域进行梯度置零操作;
步骤S54,重复步骤S52和步骤S53,直至选取的特征点数量不小于I;
步骤S55,对视差图Q剩余的深度变化较低的零散区域进行特征点提取;规定视差图Q中一像素点坐标为(Ed,Ed),使其从视差图Q左上方开始进行遍历梯度值不为零的区域;若遍历到某点处时该像素点的上下左右4个方向距离为Ed的像素点的梯度值都不为零,则选取该像素点为特征点,记为C2;
步骤S56,将C2点为圆心, Ed为半径的周围区域梯度置零;
步骤S57,重复步骤S55和步骤S56,直到已选取的总特征点数为N。
7.根据权利要求1、2、4或6所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S6中对三维点云数据进行Delaunay三角剖分的过程采用基于方向搜索的插入点快速定位方法,该方法可以快速定位到包含插入点的三角形,具体过程为:
步骤S61,设G为三角形的质心,P表示要插入的点,并将新生成的三角形作为初始三角形;
步骤S62,从初始三角形开始,搜索方向由G和P的相对位置决定;当G和P位于某条边的不同侧面时,下一个要搜索的三角形就是与该边相邻的三角形;
步骤S63,当G和P在三角形三条边的同一侧时,停止搜索,即该三角形包含了有要插入的点。
8.根据权利要求1、2、4或6所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S6中在公路场景三维模型上显示出路面缺陷时,先在阈值分割与路面缺陷边缘检测的基础上对公路场景三维模型进行整体的缺陷检测,然后调用OpenCV函数库里的CV.circle函数来进行范围圈内的缺陷着重显示的操作。
9.根据权利要求8所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S6中阈值分割时,将公路场景三维模型图像上的像素点的灰度值设置为0或255,以呈现出明显的黑白效果,具体包括以下步骤:
步骤S64,选取某一像素点,计算该像素点领域的均值、中值、高斯加权平均值,以及计算该像素点附近区域的图像亮暗拉伸对比度;
步骤S65,比较计算出的该像素点领域的均值、中值、高斯加权平均值,以及比较该像素点附近区域的图像亮暗拉伸对比度与高斯加权平均值;
若图像亮暗拉伸对比度小于高斯加权平均值,则将该像素点的像素置为255,否则置0。
10.根据权利要求9所述的基于双目视觉的公路场景三维重建与缺陷检测方法,其特征在于,所述步骤S6中边缘检测时,采用Canny算子进行边缘检测,达到路面缺陷在三维模型中整体被分割出并着重显示的目的,具体包括以下步骤:
步骤S66,对完成阈值分割后的公路场景三维模型图像进行预处理,然后计算图像梯度,得到梯度图以及梯度的方向和大小;
步骤S67,在获得了梯度的方向和大小之后,扫描整幅梯度图,去除非边界上的点;同时,对每一个像素点进行检查,看该像素点的梯度是否为周围具有相同梯度方向的像素点中最大的;若是,则保留;
步骤S68,设置阈值minVal和阈值maxVal;
当保留的像素点的梯度高于阈值maxVal时被认为是真的边界点,低于阈值minVal则被抛弃;
如果当保留的像素点的梯度介于阈值minVal和阈值maxVal之间,观察该像素点是否与某个被确定为真正的边界点相连;如果是,则认为该像素点也是边界点,否则抛弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310676408.XA CN117036641A (zh) | 2023-06-08 | 2023-06-08 | 一种基于双目视觉的公路场景三维重建与缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310676408.XA CN117036641A (zh) | 2023-06-08 | 2023-06-08 | 一种基于双目视觉的公路场景三维重建与缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117036641A true CN117036641A (zh) | 2023-11-10 |
Family
ID=88625082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310676408.XA Pending CN117036641A (zh) | 2023-06-08 | 2023-06-08 | 一种基于双目视觉的公路场景三维重建与缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117036641A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237925A (zh) * | 2023-11-16 | 2023-12-15 | 南京萨利智能科技有限公司 | 一种基于计算机视觉的智慧道路病害巡检方法及系统 |
CN117291918A (zh) * | 2023-11-24 | 2023-12-26 | 吉林大学 | 一种基于三维点云的汽车冲压件缺陷检测方法 |
CN117333758A (zh) * | 2023-12-01 | 2024-01-02 | 博创联动科技股份有限公司 | 基于大数据分析的田地路线识别系统 |
-
2023
- 2023-06-08 CN CN202310676408.XA patent/CN117036641A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117237925A (zh) * | 2023-11-16 | 2023-12-15 | 南京萨利智能科技有限公司 | 一种基于计算机视觉的智慧道路病害巡检方法及系统 |
CN117237925B (zh) * | 2023-11-16 | 2024-02-13 | 南京萨利智能科技有限公司 | 一种基于计算机视觉的智慧道路病害巡检方法及系统 |
CN117291918A (zh) * | 2023-11-24 | 2023-12-26 | 吉林大学 | 一种基于三维点云的汽车冲压件缺陷检测方法 |
CN117291918B (zh) * | 2023-11-24 | 2024-02-06 | 吉林大学 | 一种基于三维点云的汽车冲压件缺陷检测方法 |
CN117333758A (zh) * | 2023-12-01 | 2024-01-02 | 博创联动科技股份有限公司 | 基于大数据分析的田地路线识别系统 |
CN117333758B (zh) * | 2023-12-01 | 2024-02-13 | 博创联动科技股份有限公司 | 基于大数据分析的田地路线识别系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569704B (zh) | 一种基于立体视觉的多策略自适应车道线检测方法 | |
CN109615611B (zh) | 一种基于巡检影像的绝缘子自爆缺陷检测方法 | |
KR100513055B1 (ko) | 변이지도 및 깊이지도의 융합을 통한 3차원 장면 모델생성 장치 및 그 방법 | |
CN117036641A (zh) | 一种基于双目视觉的公路场景三维重建与缺陷检测方法 | |
US10176564B1 (en) | Collaborative disparity decomposition | |
CN109410207A (zh) | 一种基于ncc特征的无人机巡线图像输电线路检测方法 | |
CN110956661B (zh) | 基于双向单应矩阵的可见光与红外相机动态位姿计算方法 | |
CN107818303B (zh) | 无人机油气管线影像自动对比分析方法、系统及软件存储器 | |
WO2008029345A1 (en) | Method for determining a depth map from images, device for determining a depth map | |
CN104933434A (zh) | 一种结合LBP特征提取和surf特征提取方法的图像匹配方法 | |
CN110853151A (zh) | 一种基于视频的三维立体点集恢复方法 | |
CN104463899A (zh) | 一种目标对象检测、监控方法及其装置 | |
CN112348775B (zh) | 基于车载环视的路面坑塘检测系统及方法 | |
CN110189375A (zh) | 一种基于单目视觉测量的图像目标识别方法 | |
CN113744315B (zh) | 一种基于双目视觉的半直接视觉里程计 | |
CN109087245A (zh) | 基于相邻关系模型的无人机遥感图像拼接系统 | |
CN115222884A (zh) | 一种基于人工智能的空间对象分析及建模优化方法 | |
CN110378995B (zh) | 一种利用投射特征进行三维空间建模的方法 | |
CN115330684A (zh) | 基于双目视觉与线结构光的水下构筑物表观缺陷检测方法 | |
CN112529498B (zh) | 一种仓储物流管理方法及系统 | |
CN110717910B (zh) | 基于卷积神经网络的ct图像目标检测方法及ct扫描仪 | |
CN114998532B (zh) | 一种基于数字图像重建的三维影像视觉传达优化方法 | |
Guislain et al. | Detecting and correcting shadows in urban point clouds and image collections | |
JPH05215547A (ja) | ステレオ画像間対応点決定方法 | |
CN115619623A (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 |