CN117291967A - 一种基于单目图像的内河船舶干舷像素高度自动测量方法 - Google Patents
一种基于单目图像的内河船舶干舷像素高度自动测量方法 Download PDFInfo
- Publication number
- CN117291967A CN117291967A CN202311201918.8A CN202311201918A CN117291967A CN 117291967 A CN117291967 A CN 117291967A CN 202311201918 A CN202311201918 A CN 202311201918A CN 117291967 A CN117291967 A CN 117291967A
- Authority
- CN
- China
- Prior art keywords
- image
- line segment
- topside
- ship
- result
- 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
- 238000000691 measurement method Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000011218 segmentation Effects 0.000 claims abstract description 31
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 238000005070 sampling Methods 0.000 claims abstract description 11
- 238000010586 diagram Methods 0.000 claims description 27
- 238000012549 training Methods 0.000 claims description 22
- 238000012360 testing method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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]
-
- 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
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/30—Assessment of water resources
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Geometry (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于单目图像的内河船舶干舷像素高度自动测量方法。首先使用实例分割模型,对船舶图像进行分割,生成实例分割结果及结果图;其次根据实例分割结果对结果图进行裁剪;然后对裁剪图进行二值化处理;之后对二值图进行线段检测;对二值图与线段检测结果使用基于距离的聚类算法(K‑means)、随机采样一致性算法(RANSAC)进行线性模型拟合,进而确定船舶甲板线和吃水线位置;以此计算出船舶干舷像素高度。
Description
技术领域
本发明属于数字图像处理与单目视觉领域,涉及船舶安全航行监测技术,实现了基于单目图像的内河船舶干舷像素高度自动测量。
背景技术
内河航运监管的重点在于监测航道维护水深标准配载(称为船舶吃水),目前我国对于船舶吃水的检测主要方法分为人工检测与自动检测两类。人工检测主要采用观测法,即工作人员上船读取船舶吃水线标尺读数,通过读取船舶左右船首、船中、船尾6处吃水线标尺读数,再根据公式计算实际吃水量。人工检测的弊端非常明显,主要在于水面波动下,吃水线读取误差较大,并且部分船舶存在吃水线模糊、腐蚀等问题。自动检测法主要是利用信息技术对船舶吃水进行自动化检测,主要有以下四类方法:基于声呐技术的水下测量方法、基于超声波阵列的水下船舶吃水自动检测系统、基于数字信号处理(DSP)的船舶水尺检测系统、基于激光雷达的船舶吃水测量系统。目前的几种自动检测方法存在以下问题。
1.传感器设备成本较高,安装部署受环境限制;
2.对已经部署的传感器设备需要专员定期维护,时间、经济成本高。
船舶干舷是指船舶中部由满载吃水线到甲板上缘的垂直距离。如果船舶超载、干舷减小到小于规定的限度时,船舶就不能安全浮于水面,故最小干舷也叫安全干舷。理论上,干舷检测相较于吃水线检测,难度较低,并且船舶载重可根据干舷进行估计;目前在内河航运检测中利用船舶干舷的情况较少,仍以吃水线检测为主。
针对这些问题,基于内河船舶图片与深度学习模型,本发明首先构建了基于深度学习的实例分割模型;采用线段检测器(LSD)、基于距离的聚类算法(K-means)、随机采样一致性算法(RANSAC)构建了一种基于单目图像的内河船舶干舷像素高度自动测量方法。与现有方法相比,所提出的方法检测精度更高、鲁棒性更强。
发明内容
本发明针对现干舷测量方法的不足,提出了一种基于单目图像的内河船舶干舷像素高度自动测量方法。本发明基于单目图像,在实例分割的基础上,通过将图像进行多通道二值化处理,采用线段检测器LSD对二值图进行线段检测,对检测到的线段端点进行线性模型拟合,得到船舶甲板线与吃水线,进而进行船舶干舷像素高度测量。
本发明的技术方案主要包括如下步骤:
步骤1、采集单目内河船舶图像,并对其进行预处理;
步骤2、对步骤1处理后的图像,使用实例分割模型,在使用预训练网络权重的基础上,生成实例分割结果及结果图;
步骤3、对步骤2处理后的结果及结果图,提取结果中的实例回归框坐标,并采用该坐标对结果图进行图像裁剪,得到裁剪图;
步骤4、对步骤3得到的裁剪图,进行多通道二值化处理,得到二值图;使用线段检测器LSD对二值图进行线段检测得到线段结果;
步骤5、对步骤4得到二值图与线段结果使用基于距离的聚类算法(K-means)、随机采样一致性算法(RANSAC)进行线性模型拟合,进而确定甲板线与吃水线位置,计算船舶干舷像素高度。
进一步的,所述步骤1的具体实现如下:
利用单目相机拍摄内河船舶图像,利用Lableme软件对图像中的船舶干舷区域进行标注,将标注后的图像分为训练集与测试集。
进一步的,所述步骤2的具体实现如下:
步骤2-1基于步骤1获得的训练集使用实例分割的预训练权重对实例分割模型进行训练,加速模型收敛,训练结束后保留最优权重;
步骤2-2使用最优权重与实例分割模型对测试集图像进行图像分割,得到实例分割结果及结果图。
进一步的,所述步骤3的具体实现如下:
步骤3-1首先根据步骤2获得的实例分割结果,提取出实例的回归框,依照测试集图像编号顺序,提取出对应的一张结果图中的矩形回归框坐标Pins;
步骤3-2判断结果图像对应的实例分割结果是否具有多个矩形回归框;若有,计算所有矩形回归框面积,取使得面积最大的坐标作为该结果图的回归框坐标;
步骤3-3使用回归框坐标,对结果图与原图像分别进行图像裁剪,得到Ir和Io,相减后得到裁剪图I,图像相减公式如下:
I=αIr-βIo
其中,α、β为图像裁剪权重系数。
进一步的,所述步骤4的具体实现如下:
步骤4-1将裁剪图I在R、G、B三通道分别进行二值化处理,得到二值图Br、Bg、Bb;
步骤4-2对二值图Br、Bg、Bb进行图像相减,得到二值图B,图像相减公式如下:
B=Br-Bg-Bb
步骤4-3对4-2得到的二值图B,采用线段检测器LSD进行线段检测,得到线段集合S,S内每条线段l的具体表示为(px0,py0,px1,py1,ρ),其中px0、py0表示线段l第一个端点p0的坐标,px1、py1表示线段l第二个端点p1的坐标,ρ表示线段宽度;
步骤4-4计算S内每条线段l的微分dx、dy,长度L,计算公式如下:
dx=|px0-px1|
dy=|py0-py1|
步骤4-5使用L、dx、dy对线段集合S内的线段进行筛选,得到新的线段集合S1,筛选公式如下;
S1={l|dx>30,dy<20,l∈S}
进一步的,所述步骤5的具体实现如下:
步骤5-1对步骤4得到的二值图B的图像宽度进行n等分,得到n个对应的线段子集合S1i,其中i∈(1,n);
步骤5-2对步骤5-1得到的n个线段子集合S1i,使用基于距离的聚类算法(K-means),对每个子集合内的线段端点纵坐标进行聚类,聚类数为2,得到n个聚类中心纵坐标大的线段子集合S1id和n个聚类中心纵坐标小的线段子集合S1iw;
步骤5-3对5-2得到的n个线段子集合S1id和n个线段子集合S1iw,分别进行合并,得到线段子集合S1d和S1w;
步骤5-4对5-3得到的2个线段子集合S1d和S1w,分别使用最小二乘法,将线段端点拟合成两条直线Lkd和Lkw;
步骤5-5对5-4得到的两条直线Lkd和Lkw,计算出其在裁剪图I中的对应长线段lkd和lkw;
步骤5-6对裁剪图I依据x轴坐标进行m等分,计算出m个长线段lkd和lkw的等分点对,计算m个等分点对中两点间竖直距离,取均值,即为聚类法船舶干舷像素高度Hk;
步骤5-7对步骤4-5得到的线段集合S1,使用随机采样一致性算法(RANSAC)进行1次线性模型拟合,得到该线性模型Lr1的斜率k1和截距b1以及属于该线性模型的内点集合Pin和不属于该线性模型外点集合Pout,该线性模型的表达式如下:
Lr1(x)=k1x+b1
步骤5-8对步骤5-7得到的外点集合Pout,再次使用随机采样一致性算法(RANSAC)进行线性模型拟合,得到该线性模型Lr2的斜率k2和截距b2,该线性模型的表达式如下:
Lr2(x)=k2x+b2
步骤5-9采用步骤5-7和5-8得到的两个线性模型代替直线Lkd和Lkw,重复步骤5-5和5-6,得到采样法船舶干舷像素高度Hr。
步骤5-10对步骤5-6和5-9得到的两个干舷像素高度,进行加权平均,得到该图像的最终船舶干舷像素高度Ho,计算公式如下:
Ho=aHr+bHk
其中,a、b为像素高度融合系数。
本发明有益效果如下
本发明针对现有船舶干舷测量方法的不足,利用实例分割技术提取出图像中的船舶干舷区域,结合线段检测器(LSD)、基于距离的聚类算法(K-means)、随机采样一致性算法(RANSAC),实现了对船舶干舷像素高度的精确检测,既可以克服传统人工方法耗时耗力、误差大的问题,又可以解决现有基于图像的方法依赖船舶载重标志、水尺标志的问题,在载重标志或水尺标志存在模糊、缺失的情况下,仍然可以自动对船舶干舷进行精确检测。
附图说明
图1本发明的方法流程图;
图2本发明生成的二值图B;
图3本发明的线段检测结果图;
图4本发明拟合的甲板线与吃水线图。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
如图1所示,基于单目图像的内河船舶干舷像素高度自动测量方法,在发明内容内已有详细的介绍,即本发明的技术方案主要包括如下步骤:
步骤1、采集单目内河船舶图像,并对其进行预处理;具体步骤如下:
利用单目相机拍摄内河船舶图像,利用Lableme软件对图像中的船舶干舷区域进行标注,将标注后的图像分为训练集与测试集。
步骤2、对步骤1处理后的图像,使用实例分割模型,在使用预训练网络权重的基础上,生成实例分割结果及结果图;具体步骤如下:
步骤2-1基于步骤1获得的训练集使用在COCO数据集上预训练的Mask R-CNN实例分割模型权重训练集上进行训练,加速模型收敛,训练24轮结束后保留最优权重。
本发明使用的Mask R-CNN由主干网络ResNet-50、特征金字塔网络FPN、分类网络RPN、感兴趣区域一致层ROIAlign以及全连接层FC layers组成。
Mask R-CNN的损失函数l由分类损失lcls、回归框损失lbbox和掩码损失lmask三部分构成,其中lbbox为L1 loss,lcls和lmask为Cross Entropy Loss,具体公式如下:
l=lcls+lbbox+lmask
其中,yi表示真实值,f(xi)表示模型预测值;p(xi)表示样本X的真实分布,q(xi)表示模型预测的分布。
在Mask R-CNN的训练过程中,使用多尺度训练、图像翻转等数据增强方式,加强实例分割效果。其中多尺度训练表示将原尺寸为4752×3168的图像,缩放到1333×800、1333×768、1333×736、1333×704、1333×672、1333×640尺寸输入到模型中;图像翻转系数为0.5,表示随机选择一半图像翻转后输入到模型中。
步骤2-2使用最优权重与Mask R-CNN实例分割模型对测试集图像进行图像分割,得到实例分割结果及结果图。其中最优权重即为第24轮训练得到的权重,实例分割结果由编码后的字典类型元素构成,对应生成的结果图。
步骤3、对步骤2处理后的结果及结果图,提取结果中的实例回归框坐标,并采用该坐标对结果图进行图像裁剪,得到裁剪图;具体步骤如下:
步骤3-1首先使用实例分割结果,提取出实例的回归框,依照测试集图像编号顺序,提取出对应的一张结果图中的矩形回归框坐标Pins,具体表示形式如下:
Pt=(xt0 xt1 yt0 yt1),t∈[1,q]
其中,q表示该张图像中检测到的实例个数。
步骤3-2判断结果图像对应的实例分割结果是否具有多个矩形回归框,即n是否大于1;若q>1,计算所有矩形回归框面积,取使得面积最大的坐标作为该结果图的回归框坐标Pbbox,具体公式如下:
St=(yt1-yt0)2+(xt1-xt0)2
Pm={Pt|St=Sm}
步骤3-3使用回归框坐标Pbbox,对结果图与原图像分别进行图像裁剪,得到Ir和Io,相减后得到裁剪图I,图像相减公式如下:
I=αIr-βIo
其中α=0.75,β=0.225:
步骤4、对步骤3得到的裁剪图,进行多通道二值化处理,得到二值图;使用线段检测器LSD对二值图进行线段检测得到线段结果;具体步骤如下:
步骤4-1将裁剪图I在R、G、B三通道进行分离,得到r、g、b三组(0,255)的像素值,对这三组像素进行二值化处理,得到二值图Br、Bg、Bb,二值化处理公式如下;
步骤4-2对二值图Br、Bg、Bb进行图像相减,得到二值图B,图像相减公式如下:
B=Br-Bg-Bb
步骤4-3对4-2得到的二值图B,采用线段检测器LSD进行线段检测,得到线段集合S,S内每条线段l的具体表示为(px0,pv0,px1,py1,ρ),其中px0、py0表示线段l第一个端点p0的坐标,px1、py1表示线段l第二个端点p1的坐标,ρ表示线段宽度;
步骤4-4计算S内每条线段l的微分dx、dv,长度L,计算公式如下:
dx=|px0-px1|
dy=|py0-py1|
步骤4-5使用L、dx、dy对线段集合S内的线段进行、筛选,得到新的线段集合S1,筛选公式如下;
S1={l|dx>30,dy<20,l∈S}
步骤5、对步骤4得到二值图与线段结果使用基于距离的聚类算法(K-means)、随机采样一致性算法(RANSAC)进行甲板线与吃水线拟合,计算船舶干舷像素高度;具体实现如下:
步骤5-1对步骤4得到的二值图B的图像宽度进行n等分,得到n个对应的线段子集合S1i,其中i∈(1,n);
步骤5-2对步骤5-1得到的n个线段子集合S1i,使用基于距离的聚类算法(K-means),对每个子集合内的线段端点纵坐标进行聚类,聚类数为2,得到n个聚类中心纵坐标大的线段子集合S1id和n个聚类中心纵坐标小的线段子集合S1iw;
K-means是一种聚类算法,其原理是将数据集划分为k个簇,使得每个数据点都属于最近的簇,并且簇的中心是所有数据点的平均值。这个算法是基于迭代优化的,每个迭代步骤会更新簇的中心点,直到达到收敛条件。
本发明的K-means聚类算法的步骤如下:
1)首先将数据集S1i初始化,将数据集分成2个簇,然后随机选择2个数据点分别作为初始簇中心。
2)其次,将S1i中的每个数据点分配到距离其最近的簇中心,每个数据点只能属于一个簇。
3)之后根据分配的数据点更新簇中心点,新的簇中心点为每个簇内数据点的平均值
4)重复步骤2和3,直到簇中心点不再发生变化,或者达到预定的迭代次数。本发明的终止条件由两部分组成,第一部分为最大迭代次数,设定为1000次,第二部分为精确度阈值,当精确度小于0.1时,停止迭代。
5)最终得到2个簇和每个簇的中心点。
6)重复步骤1至5,对n个线段子集合S1i进行聚类,得到n个聚类中心纵坐标大的线段子集合S1id和n个聚类中心纵坐标小的线段子集合S1iw。本发明中,n=2。
步骤5-3对5-2得到的n个线段子集合S1id和n个线段子集合S1iw,分别进行合并,得到线段子集合S1d和S1w;
步骤5-.4对5-3得到的2个线段子集合S1d和S1w,分别使用最小二乘法,将线段端点拟合成两条直线Lkd和Lkw,该组直线即为船舶甲板线与吃水线,最小二乘法公式如下:
其中k为直线的斜率,x、y为待拟合点的坐标,和/>为np个点的x坐标和y坐标的均值,np为待拟合点的个数,在已知直线斜率k的情况下,通过待定系数法即可求出截距b,最终得到拟合直线。
步骤5-5对拟合得到的两条直线Lkd和Lkw,计算出其在裁剪图I中的对应长线段lkd和lkw;
步骤5-6对裁剪图I依据x轴坐标进行m等分,计算出m个长线段lkd和lkw的等分点对,计算m个等分点对中两点间竖直距离,取均值,即为聚类法船舶干舷像素高度Hk,本发明中m=72,具体公式如下:
其中W为裁剪图I的宽度,x为长线段lkd左侧端点横坐标的值;
步骤5-7随机采样一致性算法(RANSAC)是一种迭代的参数估计算法,常用于拟合模型、去除异常值或选择合适的数据子集。它可以在存在噪声和异常值的情况下,通过迭代优化的方式找到最佳的模型参数。
下面是本发明使用的RANSAC算法处理数据的基本步骤:
1)选择随机样本:从原始数据集中随机选择一小部分样本作为内点集,以构建初始模型;本发明设定随机选择的最小样本数为4。
2)拟合模型:使用选定的内点集合来拟合一个线性模型。
3)判断外点:利用所得线性模型,在原始数据集中寻找与该模型相吻合的数据点,并将与超过阈值C的数据点定义为外点。本发明中,使用点到拟合模型的距离与阈值进行比较,阈值C设定公式如下:
其中H为裁剪图I的高度。
4)评估模型:计算内点数量作为该模型的评价指标。内点数量越多表示线性模型的质量越好。
5)迭代更新:重复步骤1至4,直到满足既定的停止条件,本发明中,停止条件为最大迭代次数N=100。
6)最优模型:选择在迭代更新中具有最多内点数量的模型,对该模型的内点进行最小二乘法处理,得到最优线性模型。
对步骤4-5得到的线段集合S1,使用随机采样一致性算法(RANSAC)进行1次线性模型拟合,得到该线性模型Lr1的斜率k1和截距b1以及属于该线性模型的内点集合Pin和不属于该线性模型外点集合Pout,该线性模型的表达式如下:
Lr1(x)=k1x+b1
步骤5-8对步骤5-7得到的外点集合Pout,再次使用随机采样一致性算法(RANSAC)进行线性模型拟合,得到该线性模型Lr2的斜率k2和截距b2,该线性模型的表达式如下:
Lr2(x)=k2x+b2
步骤5-9采用步骤5-7和5-8得到的两个线性模型代替直线Lkd和Lkw,重复步骤5-5和5-6,得到采样法船舶干舷像素高度Hr。
其中W为裁剪图I的宽度,x为长线段lr1左侧端点横坐标的值;
步骤5-10对步骤5-6和5-9得到的两个干舷像素高度,进行加权平均,得到该图像的最终船舶干舷像素高度Ho,计算公式如下:
Ho=aHr+bHk
其中a=0.5,b=0.5。
在船舶图像测试集中人工筛选出100张带有清晰载重标志的船舶图像,于船中处手工量取干舷像素高度真值,将步骤5-10中得到的船舶干舷像素高度Ho与真值T进行比较,以此验证算法的可靠性。
为了真实测试本发明对内河船舶干舷像素高度检测的准确性,在人工筛选出100张带有清晰载重标志的船舶图像上进行对比试验,评价指标为绝对误差与相对误差,绝对误差公式如下:
Δ=|Ho-T|
其中Ho为本发明提出的方法测量的船舶干舷像素高度,T为手工量取的干舷像素高度真值。相对误差公式如下:
其中Δ为绝对误差,T为手工量取的干舷像素高度真值。
经过试验,本发明提出的方法平均绝对误差为4.14pixel,平均相对误差为1.82%,目前主流的Canny边缘检测与Hough直线变换测量方法在本数据集上的平均绝对误差为5.54pixel,平均相对误差为2.48%。从误差分布来看,本发明提出的方法的实验结果绝对误差大于5pixel占26%,绝对误差大于10pixel占7%;Canny边缘检测与Hough直线变换测量方法实验结果绝对误差大于5pixel占47%,绝对误差大于10pixel占12%。这充分证明了本发明相较于目前内河船舶干舷像素高度检测方法具有更高的精确性。
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。
本发明未详细说明部分属于本领域技术人员公知技术。
Claims (6)
1.一种基于单目图像的内河船舶干舷像素高度自动测量方法,其特征在于,包括如下步骤:
步骤1、采集单目内河船舶图像,并对其进行预处理;
步骤2、对步骤1处理后的图像,使用实例分割模型,在使用预训练网络权重的基础上,生成实例分割结果及结果图;
步骤3、对步骤2处理后的结果及结果图,提取结果中的实例回归框坐标,并采用该坐标对结果图进行图像裁剪,得到裁剪图;
步骤4、对步骤3得到的裁剪图,进行多通道二值化处理,得到二值图;使用线段检测器LSD对二值图进行线段检测得到线段结果;
步骤5、对步骤4得到二值图与线段结果使用基于距离的聚类算法、随机采样一致性算法进行线性模型拟合,进而确定甲板线与吃水线位置,计算船舶干舷像素高度。
2.根据权利要求1所述的一种基于单目图像的内河船舶干舷像素高度自动测量方法,其特征在于,所述步骤1的具体实现如下:
利用单目相机拍摄内河船舶图像,利用Lableme软件对图像中的船舶干舷区域进行标注,将标注后的图像分为训练集与测试集。
3.根据权利要求2所述的一种基于单目图像的内河船舶干舷像素高度自动测量方法,其特征在于,所述步骤2的具体实现如下:
步骤2-1基于步骤1获得的训练集使用实例分割的预训练权重对实例分割模型进行训练,加速模型收敛,训练结束后保留最优权重;
步骤2-2使用最优权重与实例分割模型对测试集图像进行图像分割,得到实例分割结果及结果图。
4.根据权利要求1或3所述的一种基于单目图像的内河船舶干舷像素高度自动测量方法,其特征在于,所述步骤3的具体实现如下:
步骤3-1首先根据步骤2获得的实例分割结果,提取出实例的回归框,依照测试集图像编号顺序,提取出对应的一张结果图中的矩形回归框坐标Pins;
步骤3-2判断结果图像对应的实例分割结果是否具有多个矩形回归框;若有,计算所有矩形回归框面积,取使得面积最大的坐标作为该结果图的回归框坐标;
步骤3-3使用回归框坐标,对结果图与原图像分别进行图像裁剪,得到Ir和Io,相减后得到裁剪图I,图像相减公式如下:
I=αIr-βIo
其中,α、β为图像裁剪权重系数。
5.根据权利要求4所述的一种基于单目图像的内河船舶干舷像素高度自动测量方法,其特征在于,所述步骤4的具体实现如下:
步骤4-1将裁剪图I在R、G、B三通道分别进行二值化处理,得到二值图Br、Bg、Bb;
步骤4-2对二值图Br、Bg、Bb进行图像相减,得到二值图B,图像相减公式如下:
B=Br-Bg-Bb
步骤4-3对4-2得到的二值图B,采用线段检测器LSD进行线段检测,得到线段集合S,S内每条线段l的具体表示为(px0,py0,px1,py1,ρ),其中px0、py0表示线段l第一个端点p0的坐标,px1、py1表示线段l第二个端点p1的坐标,ρ表示线段宽度;
步骤4-4计算S内每条线段l的微分dx、dy,长度L,计算公式如下:
dx=|px0-px1|
dy=|py0-py1|
步骤4-5使用L、dx、dy对线段集合S内的线段进行筛选,得到新的线段集合S1,筛选公式如下;
S1={l|dx>30,dy<20,l∈S}。
6.根据权利要求5所述的一种基于单目图像的内河船舶干舷像素高度自动测量方法,其特征在于,所述步骤5的具体实现如下:
步骤5-1对步骤4得到的二值图B的图像宽度进行n等分,得到n个对应的线段子集合S1i,其中i∈(1,n);
步骤5-2对步骤5-1得到的n个线段子集合S1i,使用基于距离的聚类算法,对每个子集合内的线段端点纵坐标进行聚类,聚类数为2,得到n个聚类中心纵坐标大的线段子集合S1id和n个聚类中心纵坐标小的线段子集合S1iw;
步骤5-3对5-2得到的n个线段子集合S1id和n个线段子集合S1iw,分别进行合并,得到线段子集合S1d和S1w;
步骤5-4对5-3得到的2个线段子集合S1d和S1w,分别使用最小二乘法,将线段端点拟合成两条直线Lkd和Lkw;
步骤5-5对5-4得到的两条直线Lkd和Lkw,计算出其在裁剪图I中的对应长线段lkd和lkw;
步骤5-6对裁剪图I依据x轴坐标进行m等分,计算出m个长线段lkd和lkw的等分点对,计算m个等分点对中两点间竖直距离,取均值,即为聚类法船舶干舷像素高度Hk;
步骤5-7对步骤4-5得到的线段集合S1,使用随机采样一致性算法进行1次线性模型拟合,得到该线性模型Lr1的斜率k1和截距b1以及属于该线性模型的内点集合Pin和不属于该线性模型外点集合Pout,该线性模型的表达式如下:
Lr1(x)=k1x+b1
步骤5-8对步骤5-7得到的外点集合Pout,再次使用随机采样一致性算法进行线性模型拟合,得到该线性模型Lr2的斜率k2和截距b2,该线性模型的表达式如下:
Lr2(x)=k2x+b2
步骤5-9采用步骤5-7和5-8得到的两个线性模型代替直线Lkd和Lkw,重复步骤5-5和5-6,得到采样法船舶干舷像素高度Hr;
步骤5-10对步骤5-6和5-9得到的两个干舷像素高度,进行加权平均,得到该图像的最终船舶干舷像素高度Ho,计算公式如下:
Ho=aHr+bHk
其中,a、b为像素高度融合系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311201918.8A CN117291967A (zh) | 2023-09-18 | 2023-09-18 | 一种基于单目图像的内河船舶干舷像素高度自动测量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311201918.8A CN117291967A (zh) | 2023-09-18 | 2023-09-18 | 一种基于单目图像的内河船舶干舷像素高度自动测量方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117291967A true CN117291967A (zh) | 2023-12-26 |
Family
ID=89251108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311201918.8A Pending CN117291967A (zh) | 2023-09-18 | 2023-09-18 | 一种基于单目图像的内河船舶干舷像素高度自动测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117291967A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576185A (zh) * | 2024-01-16 | 2024-02-20 | 浙江华是科技股份有限公司 | 基于深度学习和ransac算法的干舷高度识别方法及系统 |
-
2023
- 2023-09-18 CN CN202311201918.8A patent/CN117291967A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117576185A (zh) * | 2024-01-16 | 2024-02-20 | 浙江华是科技股份有限公司 | 基于深度学习和ransac算法的干舷高度识别方法及系统 |
CN117576185B (zh) * | 2024-01-16 | 2024-04-16 | 浙江华是科技股份有限公司 | 基于深度学习和ransac算法的干舷高度识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108759973B (zh) | 一种水位测量方法 | |
CN112598001B (zh) | 一种基于多模型融合的船舶水尺读数自动识别方法 | |
CN115082467B (zh) | 基于计算机视觉的建材焊接表面缺陷检测方法 | |
CN109191459B (zh) | 连铸坯低倍组织中心偏析缺陷的自动识别与评级方法 | |
JP6099479B2 (ja) | ひび割れ検出方法 | |
CN110230978A (zh) | 一种耐火砖几何尺寸测量方法 | |
CN116758077B (zh) | 一种冲浪板表面平整度在线检测方法及系统 | |
CN111652213A (zh) | 一种基于深度学习的船舶水尺读数识别方法 | |
CN109816645B (zh) | 一种钢卷松卷的自动检测方法 | |
CN117291967A (zh) | 一种基于单目图像的内河船舶干舷像素高度自动测量方法 | |
CN113077392B (zh) | 一种针对指针表模糊照片的高准确度自动读数方法 | |
CN111354047B (zh) | 一种基于计算机视觉的摄像模组定位方法及系统 | |
CN113313107B (zh) | 一种斜拉桥缆索表面多类型病害智能检测和识别方法 | |
CN110619328A (zh) | 基于图像处理和深度学习的船舶水尺读数智能识别方法 | |
CN111476120A (zh) | 一种无人机智能船舶水尺识别方法及装置 | |
CN108399614B (zh) | 一种基于无抽样小波与Gumbel分布的织物缺陷检测方法 | |
CN116721391A (zh) | 一种基于计算机视觉的原料油分离效果检测方法 | |
CN115619708A (zh) | 基于图像识别主轴轴承润滑油油质变化判断故障的方法 | |
CN113899349B (zh) | 海浪参数检测方法、设备及存储介质 | |
CN116563262A (zh) | 基于多模态的建筑裂缝检测算法 | |
CN114067147B (zh) | 一种基于局部形状匹配的舰船目标确认方法 | |
CN116703895B (zh) | 基于生成对抗网络的小样本3d视觉检测方法及其系统 | |
CN113344148A (zh) | 一种基于深度学习的海上舰船目标识别方法 | |
CN113012127A (zh) | 基于胸部医学影像的心胸比测量方法 | |
CN115457044B (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 |