一种基于机器视觉的船舶吃水线区域识别方法
技术领域
本发明涉及一种基于计算机视觉的船舶吃水线区域识别方法,属于图像处理技术领域。
背景技术
进出口货物重量鉴定是港口的重要工作之一,目前主要的鉴定方法是水尺计重。吃水线的检测结果直接影响货物计重的准确性,关乎商品的交接结算,纠纷索赔,港口计价费和关税计算等问题,因此,如何快速准确测量吃水线得到越来越多的重视。
目前通常采用压力传感器检测、激光水位检测以及图像检测来代替人工测量方法,实现轮船吃水线的估算,提高港口管理的实时性和计重准确性。其中,压力传感器检测是根据物理上水压和水深的关系设计的;文献(孙国元,毛奇凰.自动检测轮船吃水和稳性参数的方法探讨[J].中国航海,2002(2):28-30.),提出利用在船体的两侧同时安装压力传感器的方法,有效地避免了轮船摇晃和波浪等因素的不利影响,在很大程度上提高了吃水值的检测精确度。与之不同,激光水位检测根据激光测距仪测出基准面和水面之间的距离,进而得到此时的轮船吃水值;文献(陈文炜,俞汲,徐杰,等.一种船舶吃水测量系统[J].中国造船,2013(1):166-171.)采用激光测距仪、反射板、固定支架、水平仪发射天线等搭建了对船舶吃水线检测系统,由垂直向下的测量仪发出信号通过漂浮在水面的反射板反射回来,可以计算出水位信息。图像检测主要通过摄像头采集轮船吃水线图像信息,利用图像处理技术求取吃水线与水尺的关系得到吃水值。文献(罗婧,施朝健,冉鑫.一种视频图像轮船吃水线自动检测方法[J].船海工程,2012,41(1):30-32.)将Canny算子边缘检测和霍夫直线检测算法相结合得到了更为精确的吃水线位置。
以上三种方法均存在一定的局限性。压力传感器检测精度较高,但设备需安装到船体外侧,施工难度较大,并且长时间工作在恶劣环境下,半导体硅片持续受压变形,导致仪器发生零点漂移,需要大量的后期维护,其次检测精度与实时海水的密度有关,对检测准确性影响较大。激光水位检测的设备安装方便,但是容易受到水面漂浮物影响,测量精度受到严重干扰,并且只能安装在船上进行检测,无法适用于航道管理部门的对其快速离船检测的要求。图像检测不需要复杂的设备安装,对环境适应性好,只需要通过将高清摄像头安置在固定位置对船舶吃水线进行拍摄,采用先进的图像处理技术,即可准确得到船舶吃水线信息。但是,基于机器视觉的水尺检测方法,目前多集中在固定摄像头拍摄吃水线,即对已知轮船水线区域进行识别检测,而对如何快速准确定位到船舶水线区域的研究较少,而且目前对船舶水线的拍摄比较复杂,需要反复搬运设备,增加测量工作复杂性,降低效率;对船舶外弦水线图像的采集同样存在困难。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于机器视觉的船舶吃水线区域识别方法,本方法一方面采用水上无人机,克服了已有图像拍摄设备的布设和实施困难,另一方面在复杂的图像环境下识别出水线范围,避免使用跟踪算法,降低了识别算法的计算复杂性,削弱了光照不均等噪声对水线识别的影响。同时解决压力传感器检测因仪器的磨损导致对轮船水线识别的准确性不够,激光水位检测中漂浮物对测量精度产生影响,以及传统图像处理技术缺乏对复杂条件下拍摄的船舶图片中吃水线及相应字符区域识别的问题。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于机器视觉的船舶吃水线区域识别方法,通过无人机采集船舶水尺图像,采用机器视觉算法检测图像中包含的水尺刻度轮廓,通过统计筛选以及聚类算法计算出吃水线水平方向以及竖直方向的预测区间,从而得到轮船吃水线及相应字符的区域,完成船舶吃水线区域识别。
具体包括以下步骤:
步骤1),通过无人机采集船舶水尺图像;
步骤2),对步骤1采集到的船舶水尺图像进行滤波降噪预处理,降噪后进行局部自适应阈值得到二值化图像;
步骤3),根据步骤2)得到的二值化图像提取轮廓信息,判定吃水线水平方向上的预测区间;
步骤4),根据步骤3)得到的水平方向上预测区间,对步骤2)得到的二值化图像进行处理;通过处理后的二值化图像进行颜色聚类,颜色聚类后的图片进行竖直方向上的投影,计算曲线斜率得到吃水线竖直方向上的预测区间;
步骤5),根据得到的水平方向上预测区间和竖直方向上预测区间,识别出船舶吃水线及相应字符具体位置。
所述步骤1)中通过无人机采集船舶水尺图像的方法,
步骤11),操控无人机对船舶吃水线处进行拍摄;
步骤12),对采集的视频文件进行保存,对拍摄的视频图像按照固定帧数截取得到处理图片。
所述步骤2)中对采集船舶水尺图像进行滤波降噪预处理,降噪后进行局部自适应阈值,得到二值化图像的方法,
步骤21),对采集的船舶水尺图像进行灰度化处理,将图片输入到双边滤波器中,使得保留图片内部边缘并且降低噪声,输出像素的值依赖于邻域像素值的加权值组合:
其中,ID(i,j)表示横坐标为i,纵坐标为j的像素点降噪后的值,k,l表示以(i,j)为中心的邻域区域,I(i,j)和I(k,l)分别表示像素点(i,j)和(k,l)的初始值,ω(i,j,k,l)表示加权系数,σd和σr表示平滑参数;
步骤22),基于滤波降噪后的图像,根据局部邻域内像素值确定阈值,利用自适应阈值处理得到二值化图像。
所述步骤3)中判定吃水线水平方向上的预测区间的方法,
步骤31),在步骤2)得到的二值化图像上进行查找轮廓的操作,得到整张图片中所有轮廓及其坐标位置;
步骤32),将整张图片的宽度划分为k个区间:
其中,width表示整张图片的宽度,len表示所划的一个区间的宽度,故第n个区间的宽度范围表示为len(n-1,n);
步骤33),根据步骤31)得到的轮廓所在坐标位置,以及划分区间,将步骤31)得到的轮廓所在坐标位置划归到对应的区间,记第n个区间内包含的轮廓数为Cn;
步骤34),从图片左侧开始筛选包含轮廓最大的区间,但要求轮廓数多于50个,并且满足和上一区间轮廓数、下一区间轮廓数相加都不大于300个,则在水平方向上认为该区间为水线范围,
其中,Cpmax表示拥有符合要求的最大轮廓数,max{Cp}表示选取Cp的最大值;
步骤35),拥有符合要求的最大轮廓数Cpmax所在的区间len(p-1,p)被认定为水平方向上的水线范围,将此水平方向上的水线范围作为水平方向上预测区间;
所述步骤4)中判定吃水线竖直方向上的预测区间的方法,
步骤41),根据得到的水平方向上预测区间将二值化图像裁剪至该范围,将RGB图像转换为Lab色彩空间;
步骤42),基于获得的Lab色彩空间图,采用聚类方法,将图像颜色分为两类,确定分成的簇数为2,迭代次数为R,从样本空间数据集上m个对象Xo中,随机选取2个点作为初始聚类中心Cq(r),其中,o=1,2,3,…,m,q=1,2,r=1,2,3,…,R;
步骤43),计算样本空间中各样本到聚类中心的相似度距离D(Xo,Cq(r)),将对象划分到距离聚类中心最小的类中,满足
D(Xo,Cq(r))=||Xo-Cq(r)||2 (5)
步骤44),分别计算新生成的各个类Wq中所有对象的均值,得到2个新的聚类中心:
其中,C
q(r+1)表示新生成的聚类中心,
表示聚类q中像素点的值,m
(q)表示聚类q中包含像素点的个数;
步骤45),规定聚类准则目标函数值J为:
经过多次迭代,若目标函数在最小化过程中前后变化小于某一设定值ε时,说明聚类准则函数已经收敛,就停止迭代;否则返回步骤43),继续迭代;
|J(r+1)-J(r)|<ε (8)
步骤46),经聚类处理得到的图片进行竖直方向上的投影,根据投影曲线,计算各点斜率,得到变化率最大的竖直方向坐标,同时要求坐标不得位于图像上端1/4,否则无法获得较为完整的水线字符;
步骤47),得到的投影曲线上变化率最大的竖直方向坐标,向上截取图像竖直长度的1/4,向下截取图像竖直长度的1/10,从而得到竖直方向上的水线范围,将此竖直方向上的水线范围作为竖直方向上预测区间。
优选的:所述无人机采用四旋翼无人机。
优选的:所述无人机包括无人机载体、控制板、单目相机、机载处理器以及图像传输设备,所述控制板、单目相机、机载处理器以及图像传输设备安装在无人机载体上,所述控制板分别与单目相机、机载处理器以及图像传输设备通信连接,其中:
所述控制板通过通用同步/异步串行接收/发送器USART与无人机飞行控制器相连;
所述单目相机根据控制板的控制进行拍摄,通过USB接口,连接无人机机载处理器,实时获取图像;
所述机载处理器获取相机拍摄的图片并进行处理,得到船舶吃水线所在区域;
所述图像传输设备将标注好船舶吃水线区域的视频实时传回控制台。
本发明相比现有技术,具有以下有益效果:
本发明适用于停船港口等用于进出口货物重量鉴定的无人机对船舶水线采集和识别。水上无人机采集识别系统可以避免安装压力传感器、激光水位检测等设备,显著降低读取吃水线的设备成本,具有良好的可操作性。基于机器视觉的识别方法可以根据船舶水尺字符以及水线作为标志物实现吃水线的精确定位,有效克服港口环境复杂场景对水线定位的影响,计算复杂度低,能满足港口吃水线读取的快速性、准确性要求。
水上无人机采集识别系统及船舶吃水线区域识别方法,实现基于高清数字摄影的船舶拍摄,进而实现基于机器视觉的船舶吃水线区域快速、准确识别。船舶高清数字图像由水上无人机所携带的高清数字摄像机采集获得,对图像降噪后进行局部自适应阈值,将得到的二值化图像提取轮廓信息,判定吃水线水平方向上的预测区间,颜色聚类后的图片进行竖直方向上的投影,计算曲线斜率得到吃水线竖直方向上的预测范围,根据得到的预测区间,识别出船舶吃水线及相应字符具体位置。
1)采用无人机搭载高清摄像头获取船舶的图像,能够避免传感器磨损导致测量精度下降的影响,并且无需在现场安装其他设备,成本低,灵活性高。2)采用无人机摄影测量的方法对船体进行水线识别,采集数据的速度更快,精度更高,且不存在测量死角。3)使用本发明中的方法进行船舶吃水线区域识别,可以在复杂的图像环境下快速、准确识别出水线区域。
该方法具有较高的水线区域识别精度,特别适合于大型进出口港口的水尺计重观测,可推广应用于其他行业的刻度识别处理。
附图说明
图1是本发明的基于机器视觉的船舶吃水线区域识别方法示意图
图2是本发明提取轮廓后在水平方向上划分区间示意图
图3是本发明的图像经颜色聚类后在竖直方向上投影分布示意图
图4是本方法识别出的船舶吃水线及相应字符具体位置示意图
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于机器视觉的船舶吃水线区域识别方法,如图1所示,通过无人机采集船舶水尺图像,采用机器视觉算法检测图像中包含的水尺刻度轮廓,通过统计筛选以及聚类算法计算出吃水线水平方向以及竖直方向的预测区间,从而得到轮船吃水线及相应字符的区域,完成船舶吃水线区域识别。
具体包括以下步骤:
步骤1),通过无人机采集船舶水尺图像,具体过程为:
步骤11),构建水上无人机采集识别系统,对无人机进行组装调试完毕后,操控无人机对船舶吃水线处进行拍摄;
无人机采用四旋翼无人机,通过其携带的单目传感器和传输系统,获取高质量船舶水尺图像,所述无人机包括无人机载体、控制板、单目相机、机载处理器以及图像传输设备,所述控制板、单目相机、机载处理器以及图像传输设备安装在无人机载体上,所述控制板分别与单目相机、机载处理器以及图像传输设备通信连接,其中:
所述控制板通过通用同步/异步串行接收/发送器USART与无人机飞行控制器相连;
所述单目相机根据控制板的控制进行拍摄,通过USB接口,连接无人机机载处理器,实时获取图像;
所述机载处理器获取相机拍摄的图片并进行处理,得到船舶吃水线所在区域;
所述图像传输设备将标注好船舶吃水线区域的视频实时传回控制台;
无人机载体上的锂电池为整个系统提供动力来源;通电后,所有的部件进行初始化,包括无人机IMU初始化和机载处理器自启动等;初始化成功之后水上无人机起飞并悬停到合适高度,机载处理器实时处理单目相机采集到的图像,检测得到船舶吃水线所在区域;所述图像传输设备将标注好船舶吃水线区域的视频实时传回控制台;
步骤12),对采集的视频文件进行实时保存,对拍摄的视频图像按照固定帧数截取得到处理图片。
步骤2),对步骤1)采集到的采集船舶水尺图像进行滤波降噪预处理,降噪后进行局部自适应阈值得到二值化图像,具体过程为:
步骤21),对采集的船舶水尺图像进行灰度化处理,将图片输入到双边滤波器中,使得保留图片内部边缘并且降低噪声,输出像素的值依赖于邻域像素值的加权值组合:
其中,ID(i,j)表示横坐标为i,纵坐标为j的像素点降噪后的值,k,l表示以(i,j)中心的邻域区域,I(i,j)和I(k,l)分别表示像素点(i,j)和(k,l)的初始值,ω(i,j,k,l)表示加权系数,σd和σr表示平滑参数;
步骤22),基于滤波降噪后的图像,根据局部邻域内像素值确定阈值,利用自适应阈值处理得到二值化图像。
步骤3),根据步骤2)得到的二值化图像提取轮廓信息,判定吃水线水平方向上的预测区间,具体过程为:
步骤31),在步骤2)得到的二值化图像上进行查找轮廓的操作,得到整张图片中所有轮廓及其坐标位置;
步骤32),将整张图片的宽度划分为10个区间:
其中,width表示整张图片的宽度,len表示所划的一个区间的宽度,故第n个区间的宽度范围表示为len(n-1,n);
步骤33),根据步骤31)得到的轮廓所在坐标位置,以及划分区间,将步骤31)得到的轮廓所在坐标位置划归到对应的区间,记第n个区间内包含的轮廓数为Cn;
步骤34),从图片左侧开始筛选包含轮廓最大的区间,但要求轮廓数多于50个,并且满足和上一区间轮廓数、下一区间轮廓数相加都不大于300个,则在水平方向上认为该区间为水线范围,
其中,Cpmax表示拥有符合要求的最大轮廓数,max{Cp}表示选取Cp的最大值;
步骤35),拥有符合要求的最大轮廓数Cpmax所在的区间len(p-1,p)被认定为水平方向上的水线范围,将此水平方向上的水线范围作为水平方向上预测区间;
所述步骤4)中判定吃水线竖直方向上的预测区间的方法,
步骤41),根据得到的水平方向上预测区间将二值化图像裁剪至该范围,将RGB图像转换为Lab色彩空间;
步骤42),基于获得的Lab色彩空间图,采用聚类方法,将图像颜色分为两类,确定分成的簇数为2,迭代次数为R,从样本空间数据集上m个对象Xo中,随机选取2个点作为初始聚类中心Cq(r),其中,o=1,2,3,…,m,q=1,2,r=1,2,3,…,R;
步骤43),计算样本空间中各样本到聚类中心的相似度距离D(Xo,Cq(r)),将对象划分到距离聚类中心最小的类中,满足
D(Xo,Cq(r))=||Xo-Cq(r)||2 (5)
步骤44),分别计算新生成的各个类Wq中所有对象的均值,得到2个新的聚类中心:
其中,C
q(r+1)表示新生成的聚类中心,
表示聚类q中像素点的值,m
(q)表示聚类q中包含像素点的个数;
步骤45),规定聚类准则目标函数值J为:
经过多次迭代,若目标函数在最小化过程中前后变化小于某一设定值ε时,说明聚类准则函数已经收敛,就停止迭代;否则返回步骤43),继续迭代;
|J(r+1)-J(r)|<ε (8)
步骤46),经聚类处理得到的图片进行竖直方向上的投影,根据投影曲线,计算各点斜率,得到变化率最大的竖直方向坐标,同时要求坐标不得位于图像上端1/4,否则无法获得较为完整的水线字符;
步骤47),得到的投影曲线上变化率最大的竖直方向坐标,向上截取图像竖直长度的1/4,向下截取图像竖直长度的1/10,从而得到竖直方向上的水线范围,将此竖直方向上的水线范围作为竖直方向上预测区间。
步骤5),根据得到的水平方向上预测区间和竖直方向上预测区间,如图4所示,识别出船舶吃水线及相应字符具体位置。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。