CN113963052B - 一种基于双目视觉的大型浮空器体积实时监测方法 - Google Patents
一种基于双目视觉的大型浮空器体积实时监测方法 Download PDFInfo
- Publication number
- CN113963052B CN113963052B CN202111108084.7A CN202111108084A CN113963052B CN 113963052 B CN113963052 B CN 113963052B CN 202111108084 A CN202111108084 A CN 202111108084A CN 113963052 B CN113963052 B CN 113963052B
- Authority
- CN
- China
- Prior art keywords
- image
- parallax
- binocular
- point cloud
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012544 monitoring process Methods 0.000 title claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 42
- 230000009466 transformation Effects 0.000 claims abstract description 35
- 230000011218 segmentation Effects 0.000 claims abstract description 19
- 238000012887 quadratic function Methods 0.000 claims abstract description 3
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000010606 normalization Methods 0.000 claims description 13
- 238000012800 visualization Methods 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 8
- 238000003709 image segmentation Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 238000005192 partition Methods 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 210000004916 vomit Anatomy 0.000 claims description 2
- 230000008673 vomiting Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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/11—Region-based segmentation
-
- 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
-
- 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/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
一种基于双目视觉的大型浮空器体积实时监测方法,包括以下步骤:获取双目图像,采用基于均值漂移的双目差分图像分割算法对双目图像进行分割;利用双目图像对应视差内点在特定窗口内的灰度信息为参考,实现双目图像的重叠区域分割,去除双目图像中的不对应像素点,得到目标区域;采用基于自适应阈值极线距离变换的立体匹配算法实现目标区域三维重建,得到视差图;获取视差图各像素对应的深度信息,三维重建生成点云;去除三维重建生成点云中的噪声,通过下采样缩减点云数据量;基于相机间的物理位置关系完成点云拼接;基于二次函数插值对点云进行拟合,得到完整点云;利用切片法求解完整点云的点云体积。本发明双目视觉重建的精度和计算效率高。
Description
技术领域
本发明属于非接触体积测量技术领域,具体涉及一种基于双目视觉的大型浮空器体积实时监测方法。
背景技术
浮空器是一种新型近地空间功能多样的飞行平台,随着航空技术的发展正在逐渐兴起,这个平台集合了空中监测、通信平台等用途,在军事以及民用方面非常有意义,因此浮空器成了目前国际上临近空间飞行器技术和军事应用研究的热点。软式浮空器是世界浮空器发展数量最多和最常用的种类,浮空器的外形主要由气囊来体现,依靠气囊内外压强的差值来保持,浮空器升空主要依靠浮空器排开空气的重力所提供的浮力,表现为气囊内外的密度差。对浮空器囊体进行体积测量可以检测囊体的密闭性、获得浮空器的净浮力、监测囊体充气过程中的变化,对于浮空器飞行性能和相应飞行浮空参数等都具有较强的现实意义。
当前对不规则目标进行体积计算通常需要对目标进行三维重建,然后利用目标的点云信息求取目标体积。双目视觉由于硬件要求低、部署方便等优势已经成为三维重建领域中的重要方法。双目立体视觉三维重建方法在面对远距离、大目标场景时,由于目标过于庞大、目标颜色与背景相似、目标局部区域像素不可分等问题,会导致现有算法性能下降,计算量显著提升,因此开展大型浮空器体积实时监测方法的研究具有重要的理论意义和应用价值。
发明内容
本发明的目的在于针对上述现有技术中的问题,提供一种基于双目视觉的大型浮空器体积实时监测方法,有效提升双目视觉在大型浮空器上应用时的精度和计算效率。
为了实现上述目的,本发明有如下的技术方案:
一种基于双目视觉的大型浮空器体积实时监测方法,包括以下步骤:
获取双目图像,采用基于均值漂移的双目差分图像分割算法对双目图像进行分割;
利用双目图像对应视差内点在特定窗口内的灰度信息为参考,实现双目图像的重叠区域分割,去除双目图像中的不对应像素点,得到目标区域;
采用基于自适应阈值极线距离变换的立体匹配算法实现目标区域三维重建,得到视差图;
获取视差图各像素对应的深度信息,三维重建生成点云;
去除三维重建生成点云中的噪声,并通过下采样缩减点云数据量;
基于相机间的物理位置关系完成点云拼接;
基于二次函数插值对点云进行拟合,得到完整点云;
利用切片法求解完整点云的点云体积。
作为本发明的一种优选方案,所述获取双目图像通过实时监测***完成,实时监测***包括5K图像实时采集传输子***以及体积计算与可视化子***,体积计算与可视化子***接收5K图像实时采集传输子***的信号后进行处理和运算,输出浮空器的三维点云信息和体积计算结果;所述5K图像实时采集传输子***中设置有双目相机模组,首先调整双目相机模组的焦距,使其能够清晰采集到浮空器的图像数据,然后利用张正友标定法进行双目相机模组的内外参数以及畸变系数的标定,并将标定结果传输到体积计算与可视化子***中。
作为本发明的一种优选方案,所述的5K图像实时采集传输子***由八套5K图像实时采集设备组成,根据八套5K图像实时采集设备各的镜头参数、双目之间的基线距离以及目标浮空器的尺寸,将八套5K图像实时采集设备布置在目标浮空器的四周,能够完整采集到目标浮空器的图像信息。
作为本发明的一种优选方案,获取双目图像时利用MATLAB工具箱Stereo CameraCalibrator对各视角采集图像进行校正。
作为本发明的一种优选方案,所述采用基于均值漂移的双目差分图像分割算法对双目图像进行分割具体步骤如下:
以双目图像中的左图像分割为例;
得到视差范围后,对右图像整体像素在视差范围内向右平移;
Rd(x,y)=R(x-d,y)
式中R(x,y)为平移前的右图像;Rd(x,y)为平移后的右图像,Rd(x,y)对应的平移值为d;
对每个视差对应的平移后的右图像,分别与左图像进行差分,对差分图像进行阈值分割:
Dd(x,y)=|L(x,y)-Rd(x-d,y)|
式中Dd(x,y)为视差d对应的差分图像;L(x,y)为左图像;Md(x,y)为阈值分割后得到的二值图像;Td为差分阈值;
对每个视差对应的二值图像进行叠加,分割出目标区域:
式中S(x,y)为差分图像叠加结果图;dmin和dmax为最小最大视差;T为叠加图像分割对应的阈值;
右图通过与右移后的左图像进行差分来分割出目标区域。
作为本发明的一种优选方案,所述实现双目图像的重叠区域分割的具体步骤如下:对双目图像中的任意一条极线,选取右侧图像的左端像素,并统计右邻域内像素的灰度值;在视差范围内找到对应像素,统计邻域内像素的灰度值;对两邻域内的灰度值进行比较,使用欧氏距离表示两邻域的灰度相似性;
式中:Il(x,y)为左图像在点(x,y)处的灰度值;Ir(x,y)为右图像在点(x,y)处的灰度值;d为视差;Sl(d)为视差d对应区域的相似性;式中M取值代表右邻域长度;
得到每个视差值对应的欧氏距离后,比较并得到最小欧氏距离及其对应的视差值;
去除左图中该视差对应的左侧区域;
对双目图像中的所有极线进行以上操作,实现左图不重叠区域的去除;
同理,选取左图右侧像素与对应视差范围内的右图像素作为对应点;比较对应点的左邻域像素灰度,得到每个视差值对应的欧氏距离;找对最小欧式距离对应的视差,去除右图中该视差处像素的右侧区域;去除右侧不重叠过程中,利用下式计算欧氏距离:
式中:w为图像宽度。
作为本发明的一种优选方案,所述基于自适应阈值极线距离变换的立体匹配算法实现目标区域三维重建的具体步骤如下:
利用极线距离变换的立体匹配算法实现三维重建时,对图像不同区域选取不同的阈值进行距离变换;利用图像局部信息丰富程度来得到各个像素对应的距离变换阈值;
使用图像灰度梯度和图像局部方差的线性组合来表示图像局部质量:
G(x,y)=M(x,y)+V(x,y)
式中:G(x,y)为图像中像素点(x,y)处的图像局部质量;M(x,y)为像素点(x,y)处的灰度梯度;V(x,y)为像素点(x,y)处的局部方差;
图像灰度梯度用来衡量图像中相邻像素间灰度关系的变化率,求解方法如下:
式中:gx、gy分别为图像在x,y方向上的梯度;
其中,梯度使用sobel算子来表达:
gx=I(x+1,y-1)-I(x-1,y-1)+2*I(x+1,y)-2*I(x-1,y)+I(x+1,y+1)-I(x-1,y+1)
gy=I(x-1,y+1)-I(x-1,y-1)+2*I(x,y+1)-2*I(x,y-1)+I(x+1,y+1)-I(x+1,y-1)
式中:I(x,y)为图像中像素点(x,y)处的灰度值;
图像局部方差用来衡量图像中灰度信息的丰富程度,求解方法如下:
式中:L为窗口中像素个数;I(p)为第p个像素对应的灰度值;表示窗口中所有像素的灰度均值;
利用gamma变换调节对比度;
gamma变换分为归一化、预补偿和反归一化三个步骤;
其中,归一化的计算公式如下:
式中:G(x,y)为归一化前坐标(x,y)处的区域信息;I′(x,y)为归一化后坐标(x,y)处的区域信息;Gm,Gl分别为图像局部信息的最大最小值;
由于图中对应的局部信息的最小值为0,则上式转换为以下形式:
归一化后进行预补偿,表达式如下:
式中:I″(x,y),I′(x,y)分别为预补偿前后在像素点(x,y)处的区域信息;γ为预补偿中的指数取值,用来调整对比度;
预补偿后进行反归一化,公式如下:
式中:I″′(x,y)为gamma变换后图像在坐标(x,y)处的区域信息取值;
γ选值为0.3;
进行gamma变换调整对比度后,利用归一化得到不同区域对应的丰富程度:
得到不同区域对应的丰富程度后,以最大视差值为参考,得到图像中每个像素对应的极线距离变换阈值,并用a(x,y)来表示:
得到对应阈值后,进行距离变换;
对于每条极线上的所有像素,定义x为极线上灰度值非零的像素对应的次序,其对应的灰度信息为I(x),在图像中对应的横坐标为c(x),判断是否满足以下关系,
c(x)-c(x-1)>T1
I(x)-I(x-1)>T2
式中:T1,T2分别为坐标阈值和灰度阈值;
若满足以上关系,将极线上第x个非零像素定义为零点,相邻零点间的区域称为原始支撑域,得到原始支撑域后,进行距离变换,对于极线上原始支撑域中的一点p,其灰度值为I(x,y),在原始支撑域内向左向右寻找,若灰度值差值大于a(x,y),则看作左右端点:
‖I(xl,y)-I(x,y)‖>a(x,y)
‖I(x,y)-I(xr,y)‖>a(x,y)
式中:I(x,y)为坐标为(x,y)点的灰度值;a(x,y)为每个像素的距离变换阈值;
若出现像素(xl,y)与给定像素(x,y)的灰度差大于参数a(x,y),则将该点设置为左端点xl;右端也是如此,并将右端点记为xr,若未在原始支撑域中寻找到对应点,则将原始支撑域对应的端点定义为左右端点,得到极线上该像素对应的分割系数:
式中:xl和xr分别为左右端点;p为当前坐标,根据分割系数实现图像中像素的赋值;
最后利用差值平方和算法对双目图像进行立体匹配:
C(pT(ul,vl),d)=(IL(ul,vl)-IR(ul-d,vl))2
式中:pL(ul,vl)为待匹配图像的像素点;d为视差值;C(pL(ul,vl),d)为待匹配图像像素点与对应图像匹配点对应的代价函数;
得到代价函数后以IL(ul,vl)和IR(ul-d,vl)为中心,构建k×j大小的窗口,进行代价聚合:
取最小值作为视差值,完成立体匹配:
式中:dmin,dmax分别为最小和最大视差。
作为本发明的一种优选方案,所述去除三维重建生成点云中的噪声从视差优化和点云优化两个角度进行;
所述视差优化的方法如下:
对左右图像对应的视差图进行左右一致性检测;对左图中任意一点IL(ul,vl),对应视差为dl,则该点IL(ul,vl)在右图中对应的点为IR(ul-dl,vl);而右图对应点视差值为dr,若产生错误匹配,则dl与dr之间存在差值;将满足以下条件的点定义为误匹配点:
|dl-dr|<t
式中:t为判断是否满足左右一致性的阈值;
通过对视差图进行一致性检测,得到错误匹配点,对每一个错误匹配点分别沿极线向左向右寻找视差值非零的像素点,将寻找到的左右视差值分别记为d1和d2;
然后利用两视差均值对误匹配点进行赋值:
所述的点云优化利用中值滤波法去除错误匹配点,平滑视差图以得到光滑的三维点云;
所述的点云下采样将空间点云体素化,找到点云对应的X,Y,Z坐标的最大和最小值,设置体素的边长,得到X,Y,Z坐标对应的体素数量,并记录每个体素对应的点云;最后对每个体素内的点云求中心,并保留离体素重心最近的点,实现点云降采样得到输出点云。
作为本发明的一种优选方案,所述获取视差图各像素对应的深度信息的计算表达式如下:
式中:f为焦距;b为双目相机的基线距离;d为计算出的视差;Z为目标像素点的深度;
所述利用切片法求解完整点云的点云体积时,对每个切片中的点求取外界多边形,并计算多边形的面积,最后通过积分得到点云整体体积,计算表达式如下:
式中:S1,S2分别为上下切片对应的面积;Δh为相邻切片的距离。
作为本发明的一种优选方案,所述的点云体积求解通过搭建CPU+GPU异构计算平台作为计算资源,利用CUDA并行编程的方式实时计算,所述的CPU+GPU异构计算平台中CPU作为数据的输入输出、内存资源分配的管理者,GPU作为协处理器完成对CPU传输数据的计算;在CUDA编程时,采用python语言编写执行在GPU端的核函数以及CPU端的控制逻辑代码,在执行过程中CPU端代码被python编译器编译执行,核函数被nvcc编译器编译在GPU端执行。
相较于现有技术,本发明至少具有如下的有益效果:
采用基于均值漂移的双目差分图像分割算法对双目图像进行分割和采用基于自适应阈值极线距离变换的立体匹配算法实现目标区域三维重建,分别对双目图像领域的目标分割和目标表面由于存在弱纹理、重复纹理特征而导致误匹配现象均有很好的表现结果。同时,为了提高计算速度,一方面,获取视差图各像素对应的深度信息,该先验信息能够在后续算法处理过程中降低运算量,另一方面,利用切片法求解完整点云的点云体积。
进一步的,本发明点云体积求解通过搭建CPU+GPU异构计算平台作为计算资源,利用CUDA并行编程的方式实时计算,利用GPU等硬件搭建计算平台进行并行计算处理,大幅度提高了计算效率,从而快捷的实现了智能化非接触式的囊体体积测量。
附图说明
图1本发明基于双目视觉的大型浮空器体积实时监测***的硬件连接图;
图2本发明体积计算与可视化子***中数据处理流程图;
图3本发明5K图像实时采集传输子***布置图;
图4本发明基于均值漂移的双目差分图像分割算法流程图;
图5本发明基于自适应阈值极线距离变换的立体匹配算法流程图;
图6本发明基于CUDA的点云体积加速计算流程图;
附图中:1-5K图像实时采集传输子***;2-体积计算与可视化子***;3-光纤;4-同轴线缆;5-双绞线;6-5K图像实时采集设备;7-试验场地;8-目标浮空器。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
参照图1,本发明实施例首先搭建一种基于双目视觉的大型浮空器体积实时监测***,该***由5K图像实时采集传输子***1、体积计算与可视化子***2以及二者之间的连接线组成。连接线包括光纤线3、同轴线缆4和双绞线5。其中,5K图像实时采集传输子***1包含八组完全一致的5K图像实时采集设备6,将其布置在指定的位置,可以采集目标浮空器的双目图片数据、监控视频流数据以及激光测距数据,分别通过光纤线3、同轴线缆4以及双绞线5将上述数据实时传输到高性能体积计算与可视化子***2。
其中,每一套5K图像实时采集设备6均包括:双目视觉模块、监控模块、激光测距模块和电源模块。上述双目视觉模块、监控模块、激光测距模块负责采集实时数据,通过对应的数据总线将数据实时传给所述的高性能体积计算与可视化子***,在体积计算与可视化子***2中信号分别经过数据交换模块、数字图像处理模块,最终在显示模块上显示出得到的三维点云结果和体积计算结果,其中,数字图像处理模块承担对这些图像数据进行图像校正、图像分割、立体匹配、三维重建、点云拼接以及体积计算等过程的处理。
参照图2,双目图片数据、监控视频流数据以及激光测距数据被传输到高性能体积计算与可视化子***,其中,监控视频流数据直接通过高清录像机在显示器上显示出来,激光测距数据被保存在内存中,在后续图像分割和立体匹配搜索视差图中被调用,提高计算效率。双目图片数据依次经过图像校正、图像分割、重叠区域分割、立体匹配、三维重建、点云拼接以及体积计算等过程的处理,最后在显示器上输出得到的三维点云结果和体积计算结果。
参照图3,由于目标浮空器的尺寸庞大,考虑5K图像实时采集设备的镜头参数、双目之间的基线距离,如何合理布置5K图像实时采集设备是决定能够完整有效采集到双目图像的关键,在本实例中,采用焦距为12mm的镜头,5K图像实时采集设备6中双目相机的基距为1.2m,通过计算,如图3所示的布置方案能够有效采集到目标的双目图像,即在目标浮空器8的侧边各放置三台,在目标浮空器8顶部和尾部各放置一台。
参照图4,双目图像主要可以分为嘈杂背景、前景目标及前景噪声三部分。其中,嘈杂背景和前景目标间有较为明显的深度差异,相较于单目图像,双目图像可得到图像中像素点的三维信息,所以利用三维信息来实现大部分背景区域的去除。而前景目标及前景噪声间有较为明显的颜色差异,利用均值漂移算法来实现前景噪声的去除。
(1)激光测距得到视差范围后,对右图像整体像素在视差范围内向右平移;
Rd(x,y)=R(x-d,y)
式中:R(x,y)为平移前的右图像;Rd(x,y)为平移后的右图像,其中,Rd(x,y)对应的平移值为d。
(2)对每个视差对应的平移后的右图像,分别与左图像进行差分。差分后目标区域对应的灰度值较小,利用此原理对差分图像进行阈值分割:
Dd(x,y)=|L(x,y)-Rd(x-d,y)|
式中:Dd(x,y)为视差d对应的差分图像;L(x,y)为左图像;Md(x,y)为阈值分割后得到的二值图像;Td为差分阈值。
(3)对每个视差对应的二值图像进行叠加,由于目标区域具有灰度相似性,对双目图像进行差分后,目标区域对应的灰度值会小于背景区域,根据此原理分割出目标区域:
式中:S(x,y)为差分图像叠加结果图;dmin和dmax分别为最小和最大视差;T为叠加图像分割对应的阈值。
右图通过与右移后的左图像进行差分来分割出目标区域。在双目图像差分中,受到两个参数差分阈值Td和叠加阈值T的影响。考虑到剩余背景区域、前景噪声区域与目标区域相比,有较明显的颜色差异。得到双目差分图像后,利用均值漂移方法分割出目标区域。均值漂移又称为Mean shift算法,主要通过计算像素对应的均值漂移向量,在满足要求前不断沿向量移动,以实现图像平滑。
参照图5,双目图像经过重叠区域分割后,为实现目标的三维重建,需要对双目图像进行立体匹配。由于目标表面存在弱纹理、重复纹理特征,而以上因素均会导致误匹配现象。为解决此问题,提出基于自适应阈值极线距离变换的立体匹配算法来增强匹配精度。
利用图像局部信息丰富程度来得到各个像素对应的距离变换阈值,常用来统计图像局部质量的方法主要有均方差、图像熵、梯度和均值等。
本发明使用图像灰度梯度和图像局部方差的线性组合来表示图像局部质量:
G(x,y)=M(x,y)+V(x,y)
式中:G(x,y)为图像中像素点(x,y)处的图像局部质量;M(x,y)为像素点(x,y)处的灰度梯度;V(x,y)为像素点(x,y)处的局部方差。
得到图像局部质量后,求解每个像素对应的距离变换阈值。由于边缘区域与非边缘区域相比,局部质量对比度较高,所以需对图像各区域的局部质量的对比度进行调整。
本发明利用gamma变换调节对比度。表达式如下:
式中:I″′(x,y)为gamma变换后图像在坐标(x,y)处的区域信息取值。
为缩减不同区域间的对比度,需对区域信息取值高的区域进行压缩,同时对取值低区域进行拉伸。为实现以上效果,γ应取小于1的值,经过多次实验结果对比,确定γ选值为0.3。
进行gamma变换调整对比度后,为得到不同区域相对于图像全局的丰富程度,利用归一化得到不同区域对应的丰富程度。
得到不同区域对应的丰富程度后,以最大视差值为参考,得到图像中每个像素对应的极线距离变换阈值,并用a(x,y)来表示。
得到对应阈值后,进行距离变换。
参照图6,点云体积计算方式要求计算网格尺寸需要足够小才能满足计算精度要求。但是,计算网格尺寸越小,并行计算所消耗的硬件资源越多,有限的计算资源将直接影响到并行计算的速度。为加速求解体积的解算,搭建CPU+GPU异构计算平台作为计算资源,通过CUDA并行编程的方式达到实时计算。CPU+GPU的异构并行编程模式中,CPU作为数据的输入输出、内存资源分配的管理者,GPU作为协处理器完成对CPU传输数据的计算。异构计算发挥了CPU在逻辑控制上的优势以及GPU在处理高并发任务上的优势。CUDA编程时,采用python语言编写执行在GPU端的核函数以及CPU端的控制逻辑代码,在执行过程中CPU端代码将会被python编译器编译执行,核函数将会被nvcc编译器编译在GPU端执行。
基于点云体积计算的思想,本发明设计了一种基于CUDA的点云体积并行计算流程:
a)首先在Host端(CPU)初始化计算目标的点云数据;
b)将点云数据网格化并进行下采样;
c)将下采样后的点云数据从Host端拷贝到Device端(GPU);
d)对点云进行二项式插值;
e)点云切片求体积;
重复步骤(d)-(e),达到要求迭代次数,结束计算。
以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均属于权利要求书所涵盖的保护范围之内。
Claims (8)
1.一种基于双目视觉的大型浮空器体积实时监测方法,其特征在于,包括以下步骤:
获取双目图像,采用基于均值漂移的双目差分图像分割算法对双目图像进行分割;
利用双目图像对应视差内点在特定窗口内的灰度信息为参考,实现双目图像的重叠区域分割,去除双目图像中的不对应像素点,得到目标区域;
所述实现双目图像的重叠区域分割的具体步骤如下:对双目图像中的任意一条极线,选取右侧图像的左端像素,并统计右邻域内像素的灰度值;在视差范围内找到对应像素,统计邻域内像素的灰度值;对两邻域内的灰度值进行比较,使用欧氏距离表示两邻域的灰度相似性;
式中:Il(x,y)为左图像在点(x,y)处的灰度值;Ir(x,y)为右图像在点(x,y)处的灰度值;d为视差;Sl(d)为视差d对应区域的相似性;式中M取值代表右邻域长度;
得到每个视差值对应的欧氏距离后,比较并得到最小欧氏距离及其对应的视差值;
去除左图中该视差对应的左侧区域;
对双目图像中的所有极线进行以上操作,实现左图不重叠区域的去除;
同理,选取左图右侧像素与对应视差范围内的右图像素作为对应点;比较对应点的左邻域像素灰度,得到每个视差值对应的欧氏距离;找对最小欧式距离对应的视差,去除右图中该视差处像素的右侧区域;去除右侧不重叠过程中,利用下式计算欧氏距离:
式中:w为图像宽度;
采用基于自适应阈值极线距离变换的立体匹配算法实现目标区域三维重建,得到视差图;
所述基于自适应阈值极线距离变换的立体匹配算法实现目标区域三维重建的具体步骤如下:
利用极线距离变换的立体匹配算法实现三维重建时,对图像不同区域选取不同的阈值进行距离变换;利用图像局部信息丰富程度来得到各个像素对应的距离变换阈值;
使用图像灰度梯度和图像局部方差的线性组合来表示图像局部质量:
G(x,y)=M(x,y)+V(x,y)
式中:G(x,y)为图像中像素点(x,y)处的图像局部质量;M(x,y)为像素点(x,y)处的灰度梯度;V(x,y)为像素点(x,y)处的局部方差;
图像灰度梯度用来衡量图像中相邻像素间灰度关系的变化率,求解方法如下:
式中:gx、gy分别为图像在x,y方向上的梯度;
其中,梯度使用sobel算子来表达:
gx=I(x+1,y-1)-I(x-1,y-1)+2*I(x+1,y)-2*I(x-1,y)+I(x+1,y+1)-I(x-1,y+1)
gy=I(x-1,y+1)-I(x-1,y-1)+2*I(x,y+1)-2*I(x,y-1)+I(x+1,y+1)-I(x+1,y-1)
式中:I(x,y)为图像中像素点(x,y)处的灰度值;
图像局部方差用来衡量图像中灰度信息的丰富程度,求解方法如下:
式中:L为窗口中像素个数;I(p)为第p个像素对应的灰度值;表示窗口中所有像素的灰度均值;
利用gamma变换调节对比度;
gamma变换分为归一化、预补偿和反归一化三个步骤;
其中,归一化的计算公式如下:
式中:G(x,y)为归一化前坐标(x,y)处的区域信息;I′(x,y)为归一化后坐标(x,y)处的区域信息;Gm,Gl分别为图像局部信息的最大最小值;
由于图中对应的局部信息的最小值为0,则上式转换为以下形式:
归一化后进行预补偿,表达式如下:
式中:I″(x,y),I′(x,y)分别为预补偿前后在像素点(x,y)处的区域信息;γ为预补偿中的指数取值,用来调整对比度;
预补偿后进行反归一化,公式如下:
式中:I″′(x,y)为gamma变换后图像在坐标(x,y)处的区域信息取值;
γ选值为0.3;
进行gamma变换调整对比度后,利用归一化得到不同区域对应的丰富程度:
得到不同区域对应的丰富程度后,以最大视差值为参考,得到图像中每个像素对应的极线距离变换阈值,并用a(x,y)来表示:
得到对应阈值后,进行距离变换;
对于每条极线上的所有像素,定义x为极线上灰度值非零的像素对应的次序,其对应的灰度信息为I(x),在图像中对应的横坐标为c(x),判断是否满足以下关系,
c(x)-c(x-1)>T1
I(x)-I(x-1)>T2
式中:T1,T2分别为坐标阈值和灰度阈值;
若满足以上关系,将极线上第x个非零像素定义为零点,相邻零点间的区域称为原始支撑域,得到原始支撑域后,进行距离变换,对于极线上原始支撑域中的一点p,其灰度值为I(x,y),在原始支撑域内向左向右寻找,若灰度值差值大于a(x,y),则看作左右端点:
||I(xl,y)-I(x,y)||>a(x,y)
||I(x,y)-I(xr,y)||>a(x,y)
式中:I(x,y)为坐标为(x,y)点的灰度值;a(x,y)为每个像素的距离变换阈值;
若出现像素(xl,y)与给定像素(x,y)的灰度差大于参数a(x,y),则将该点设置为左端点xl;右端也是如此,并将右端点记为xr,若未在原始支撑域中寻找到对应点,则将原始支撑域对应的端点定义为左右端点,得到极线上该像素对应的分割系数:
式中:xl和xr分别为左右端点;p为当前坐标,根据分割系数实现图像中像素的赋值;
最后利用差值平方和算法对双目图像进行立体匹配:
C(pL(ul,vl),d)=(IL(ul,vl)-IR(ul-d,vl))2
式中:pL(ul,vl)为待匹配图像的像素点;d为视差值;C(pL(ul,vl),d)为待匹配图像像素点与对应图像匹配点对应的代价函数;
得到代价函数后以IL(ul,vl)和IR(ul-d,vl)为中心,构建k×j大小的窗口,进行代价聚合:
取最小值作为视差值,完成立体匹配:
式中:dmin,dmax分别为最小和最大视差;
获取视差图各像素对应的深度信息,三维重建生成点云;
去除三维重建生成点云中的噪声,并通过下采样缩减点云数据量;
基于相机间的物理位置关系完成点云拼接;
基于二次函数插值对点云进行拟合,得到完整点云;
利用切片法求解完整点云的点云体积。
2.根据权利要求1所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于:所述获取双目图像通过实时监测***完成,实时监测***包括5K图像实时采集传输子***(1)以及体积计算与可视化子***(2),体积计算与可视化子***(2)接收5K图像实时采集传输子***(1)的信号后进行处理和运算,输出浮空器的三维点云信息和体积计算结果;
所述5K图像实时采集传输子***(1)中设置有双目相机模组,首先调整双目相机模组的焦距,使其能够清晰采集到浮空器的图像数据,然后利用张正友标定法进行双目相机模组的内外参数以及畸变系数的标定,并将标定结果传输到体积计算与可视化子***(2)中。
3.根据权利要求2所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于:所述的5K图像实时采集传输子***(1)由八套5K图像实时采集设备(6)组成,根据八套5K图像实时采集设备(6)各个镜头参数、双目之间的基线距离以及目标浮空器(8)的尺寸,将八套5K图像实时采集设备(6)布置在目标浮空器(8)的四周,能够完整采集到目标浮空器(8)的图像信息。
4.根据权利要求1所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于:获取双目图像时利用MATLAB工具箱Stereo Camera Calibrator对各视角采集图像进行校正。
5.根据权利要求1所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于,所述采用基于均值漂移的双目差分图像分割算法对双目图像进行分割具体步骤如下:
以双目图像中的左图像分割为例;
得到视差范围后,对右图像整体像素在视差范围内向右平移;
Rd(x,y)=R(x-d,y)
式中R(x,y)为平移前的右图像;Rd(x,y)为平移后的右图像,Rd(x,y)对应的平移值为d;
对每个视差对应的平移后的右图像,分别与左图像进行差分,对差分图像进行阈值分割:
Dd(x,y)=|L(x,y)-Rd(x-d,y)|
式中Dd(x,y)为视差d对应的差分图像;L(x,y)为左图像;Md(x,y)为阈值分割后得到的二值图像;Td为差分阈值;
对每个视差对应的二值图像进行叠加,分割出目标区域:
式中S(x,y)为差分图像叠加结果图;dmin和dmax为最小最大视差;T为叠加图像分割对应的阈值;
右图通过与右移后的左图像进行差分来分割出目标区域。
6.根据权利要求1所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于,所述去除三维重建生成点云中的噪声从视差优化和点云优化两个角度进行;
所述视差优化的方法如下:
对左右图像对应的视差图进行左右一致性检测;对左图中任意一点IL(ul,vl),对应视差为dl,则该点IL(ul,vl)在右图中对应的点为IR(ul-dl,vl);而右图对应点视差值为dr,若产生错误匹配,则dl与dr之间存在差值;将满足以下条件的点定义为误匹配点:
|dl-dr|<t
式中:t为判断是否满足左右一致性的阈值;
通过对视差图进行一致性检测,得到错误匹配点,对每一个错误匹配点分别沿极线向左向右寻找视差值非零的像素点,将寻找到的左右视差值分别记为d1和d2;
然后利用两视差均值对误匹配点进行赋值:
所述的点云优化利用中值滤波法去除错误匹配点,平滑视差图以得到光滑的三维点云;
所述的点云下采样将空间点云体素化,找到点云对应的X,Y,Z坐标的最大和最小值,设置体素的边长,得到X,Y,Z坐标对应的体素数量,并记录每个体素对应的点云;最后对每个体素内的点云求中心,并保留离体素重心最近的点,实现点云降采样得到输出点云。
7.根据权利要求1所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于,所述获取视差图各像素对应的深度信息的计算表达式如下:
式中:f为焦距;b为双目相机的基线距离;d为计算出的视差;Z为目标像素点的深度;
所述利用切片法求解完整点云的点云体积时,对每个切片中的点求取外界多边形,并计算多边形的面积,最后通过积分得到点云整体体积,计算表达式如下:
式中:S1,S2分别为上下切片对应的面积;Δh为相邻切片的距离。
8.根据权利要求1所述基于双目视觉的大型浮空器体积实时监测方法,其特征在于,所述的点云体积求解通过搭建CPU+GPU异构计算平台作为计算资源,利用CUDA并行编程的方式实时计算,所述的CPU+GPU异构计算平台中CPU作为数据的输入输出、内存资源分配的管理者,GPU作为协处理器完成对CPU传输数据的计算;在CUDA编程时,采用python语言编写执行在GPU端的核函数以及CPU端的控制逻辑代码,在执行过程中CPU端代码被python编译器编译执行,核函数被nvcc编译器编译在GPU端执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108084.7A CN113963052B (zh) | 2021-09-22 | 2021-09-22 | 一种基于双目视觉的大型浮空器体积实时监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108084.7A CN113963052B (zh) | 2021-09-22 | 2021-09-22 | 一种基于双目视觉的大型浮空器体积实时监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113963052A CN113963052A (zh) | 2022-01-21 |
CN113963052B true CN113963052B (zh) | 2023-08-18 |
Family
ID=79461877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111108084.7A Active CN113963052B (zh) | 2021-09-22 | 2021-09-22 | 一种基于双目视觉的大型浮空器体积实时监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113963052B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103868460A (zh) * | 2014-03-13 | 2014-06-18 | 桂林电子科技大学 | 基于视差优化算法的双目立体视觉自动测量方法 |
WO2018086348A1 (zh) * | 2016-11-09 | 2018-05-17 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉***及深度测量方法 |
CN111563921A (zh) * | 2020-04-17 | 2020-08-21 | 西北工业大学 | 一种基于双目相机的水下点云获取方法 |
CN111856448A (zh) * | 2020-07-02 | 2020-10-30 | 山东省科学院海洋仪器仪表研究所 | 基于双目视觉和雷达的海上障碍物识别方法及*** |
WO2021120407A1 (zh) * | 2019-12-17 | 2021-06-24 | 大连理工大学 | 一种基于多对双目相机的视差图像拼接与可视化方法 |
-
2021
- 2021-09-22 CN CN202111108084.7A patent/CN113963052B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103868460A (zh) * | 2014-03-13 | 2014-06-18 | 桂林电子科技大学 | 基于视差优化算法的双目立体视觉自动测量方法 |
WO2018086348A1 (zh) * | 2016-11-09 | 2018-05-17 | 人加智能机器人技术(北京)有限公司 | 双目立体视觉***及深度测量方法 |
WO2021120407A1 (zh) * | 2019-12-17 | 2021-06-24 | 大连理工大学 | 一种基于多对双目相机的视差图像拼接与可视化方法 |
CN111563921A (zh) * | 2020-04-17 | 2020-08-21 | 西北工业大学 | 一种基于双目相机的水下点云获取方法 |
CN111856448A (zh) * | 2020-07-02 | 2020-10-30 | 山东省科学院海洋仪器仪表研究所 | 基于双目视觉和雷达的海上障碍物识别方法及*** |
Non-Patent Citations (1)
Title |
---|
基于视差图像的重叠果实图像分割算法;彭辉;吴鹏飞;翟瑞芳;刘善梅;吴兰兰;景秀;;农业机械学报(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113963052A (zh) | 2022-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11562498B2 (en) | Systems and methods for hybrid depth regularization | |
CN107833270B (zh) | 基于深度相机的实时物体三维重建方法 | |
CN108682026B (zh) | 一种基于多匹配基元融合的双目视觉立体匹配方法 | |
US8385630B2 (en) | System and method of processing stereo images | |
CN108596975B (zh) | 一种针对弱纹理区域的立体匹配算法 | |
CN113313815B (zh) | 一种机械臂抓取物体实时三维重建方法 | |
CN106530333B (zh) | 基于捆绑约束的分级优化立体匹配方法 | |
CN102436671B (zh) | 一种基于深度值非线性变换的虚拟视点绘制方法 | |
CN108010075B (zh) | 一种基于多特征联合的局部立体匹配方法 | |
CN113570701B (zh) | 一种头发重建方法及设备 | |
CN114519772A (zh) | 一种基于稀疏点云和代价聚合的三维重建方法及*** | |
CN114677479A (zh) | 一种基于深度学习的自然景观多视图三维重建方法 | |
Shivakumar et al. | Real time dense depth estimation by fusing stereo with sparse depth measurements | |
CN114549669B (zh) | 一种基于图像融合技术的彩色三维点云获取方法 | |
CN116189140A (zh) | 一种基于双目视觉的车辆三维目标检测算法 | |
CN109903322B (zh) | 一种深度摄像头深度图像修复方法 | |
Nouduri et al. | Deep realistic novel view generation for city-scale aerial images | |
CN112270701A (zh) | 基于分组距离网络的视差预测方法、***及存储介质 | |
CN113963052B (zh) | 一种基于双目视觉的大型浮空器体积实时监测方法 | |
CN116704307A (zh) | 基于图像虚拟点云与激光点云融合的目标检测方法及*** | |
CN115631223A (zh) | 基于自适应学习和聚合的多视图立体重建方法 | |
CN115239559A (zh) | 一种融合视图合成的深度图超分辨率方法及*** | |
Dogaru et al. | Sphere-guided training of neural implicit surfaces | |
Dargazany et al. | Stereo-based terrain traversability estimation using surface normals | |
Murayama et al. | Depth Image Noise Reduction and Super-Resolution by Pixel-Wise Multi-Frame Fusion |
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 |