一种基于视觉的目标舷角实时测量方法*
2017-12-19任继昌杨晓东
任继昌,杨晓东
(海军潜艇学院,山东 青岛 266042)
一种基于视觉的目标舷角实时测量方法*
任继昌,杨晓东
(海军潜艇学院,山东 青岛 266042)
舰船的舷角是鱼雷攻击时的重要参数,同时也是海航避碰中避碰线路确定的计算依据。在基于视觉的识别中,获取目标舰船的舷角即可确定其相对拍摄视角,从而大大缩小在全方位视野特征库中的搜索范围,提高识别速度。然而现有的舷角测量方法均是采用连续跟踪解算实现的,无法实时测量。为解决实时测量的问题,首先推导了基于视觉的目标舰船舷角测量原理,然后针对摄像机倾斜的情况提出基于水天线校正的改进方法,最后通过实验验证,结果表明方法简单易操作、实时性好。
视觉测量,舷角测量,水天线校正
0 引言
舰艇在进行鱼雷攻击时需要目标舰船的舷角参数以提前确定攻击时机,航海避碰过程中也需要目标舰船的舷角参数以确定避碰线路,基于视觉的舰船目标识别首先需要从不同方位拍摄舰船然后建立特征数据库,在识别过程中如果知道舰船相对摄像机的拍摄角度(这里可以认为是舷角)即可大大缩小在特征库中的搜索范围,提高匹配速度。然而现有的舷角测量法通常是通过某种测量手段对目标舰船进行连续跟踪解算出目标舰船的航向,然后再结合方位角合成目标舷角,无法达到实时性[1-3]。为解决实时测量目标舰船舷角的问题,本文构建了基于视觉的目标舰船舷角测量系统,并推导了该条件下舰船舷角测量原理,然后针对摄像机倾斜的情况提出基于水天线校正的改进方法,最后通过实验验证。
1 舰船舷角测量原理
图1中建立以O为原点的世界坐标系O-xyz,其中O-xz与海平面重合,同时建立以CCD平面主点O'点为原点的图像坐标系O'-x'y',A、B点为待测量舰船与海平面相交形成的吃水线上的任意两点,其在摄像机CCD平面上对应的像点为A'、B',在x轴z和轴上的投影点为xA、xB和zA、zB,C为摄像机光心。摄像机焦距f=CO'=OO'',所处高度为h=CO,现求取舰船吃水线AB与方位线CA的夹角∠CAB,记为θ。推导过程如下:
根据相似三角形定理有
联立式(1)、式(3)有
同理联立式(2)、式(4)有
于是可得A、B的坐标为
因而有向量
又 C 点坐标为C(0,h,0),所以向量
所以
从以上的推导过程可以看出θ的求取并不需要知道摄像机所处高度,只要获得A、B点的成像坐标值和摄像机的焦距即可。
2 基于水天线的图像校正
图1中给出了摄像机图像坐标系相对世界坐标系无倾斜这种理想情况下的舷角测量方法,然而现实中通过人工的方式很难保证图像坐标系相对世界坐标系无倾斜,如下页图2所示,给出了摄像机倾斜情况下的示意图。如果直接采用未经处理的有倾斜的图像计算目标舰船的舷角会得到错误的结果。通过观察发现在海空背景下摄像机倾斜时海天线在图像中也是呈现倾斜状态,不难证明海天线与图像坐标系x轴的夹角正好等于摄像机的倾斜角。基于这一点,本文提出了海天线校正的更为实用的舰船舷角测量方法。
2.1 基于Hough变换的水天线检测
在图像中海面和天空的相接处由于颜色差异会呈现出一条直线,称为水天线。Hough变换[4-5]是一种常用的直线检测算法,它是一种图像空间到参数空间的转换,通过它可以将笛卡尔坐标空间中的直线变换为极坐标空间中的点。
对于(x,y)空间的任意一点(xi,yi),采用极坐标(ρ,θ)作为参数空间,其变换方程为:
采用极坐标的形式可以更好地处理当直线垂直时其斜率接近无限大的问题。图3中左边是笛卡尔坐标中的一条直线,ρ'表示图像坐标原点到直线的距离,θ'是该直线的法线与x轴的交角。由ρ'、θ'可以唯一地确定一条直线。
图像空间中的一点(xi,yi)对应于(ρ,θ)空间的一条正弦曲线,其相位和幅值由xi、yi决定,如图3所示。(x,y)空间的同一条直线上的点在(ρ,θ)空间的正弦曲线都会相交于点(ρ',θ')。在参数空间相交曲线最多的点,其对应图像中的直线就是解。因此,要探测图像空间的一条直线,相当于探测参数空间相交曲线最多的一个点,该点对应的ρ即为图像空间中原点到最长直线的距离,对应的θ即最长直线的垂线与轴正向的夹角。本文利用边缘检测方法得到边缘点的集合,再通过Hough变换求出共线点及其直线方程,最后利用映射关系,在原图中精确定位水天线。
2.2 基于水天线的图像水平校正
通过Hough变换精确定位水天线,返回该线与原点的距离ρ0以及该线法线同x轴的夹角θ0,然后以图像主点(光轴与图像平面的交点)(x0,y0)为中心,将图像中各点(x,y)围绕主点顺时针或逆时针转动角度 θ0,变为新的坐标(x',y'),更新后的坐标满足以下关系:
通过上述旋转变换,即可分别将左右摄像机拍摄的图像校正水平,也即使得水天线处于水平状态。
3 实验结果及分析
实地拍摄一幅实验所需图像,如图4所示,图像分辨率为1 360*1 024。
在Windows XP环境下,利用Visual Studio 2010软件开发平台,基于开源计算机视觉库OpenCV[6-7],首先采用Sobel边缘检测算法[8-9]进行边缘检测如图5所示。采用Hough变换对图5进行线段检测,结果如图6所示。图中检测到3条有效线段,选取线段1为水天线,再用本文的水天线校正算法对原图进行校正,结果如图7所示。可以看出经校正后的图像中的水天线已经变为水平状态,接下来即可进行舰船的舷角测量。
本文要测量的舷角为图7中最右侧的船只,已检测出该船的吃水线即线段3,令线段3左端点为A,右端点B,校正后经测算端点A坐标为(1 117.3,402.6),端点 B 的坐标为(1 260.6,401.8),事先根据张正友标定法[10]得到摄像机的参数为主点坐标(x0,y0)=(683.45,517.94),相对焦距 f=5 563,将数据代入式(9)、式(10)得出 θ=100.9°。该数据与雷达连续跟踪解算测得的舷角基本一致。
4 结论
针对基于连续跟踪解算舷角的传统算法无法实时测量的情况,本文提出了基于计算机视觉技术的目标舷角测量方法,并就其原理进行了数学推导,同时还对实际操作中存在摄像机倾斜的情况提出采用水天线校正的方法予以改进,使该测量方法更具有实用性。实验结果表明本文所采用的方法可以快速、实时地对目标舰船的舷角进行测量。该方法对需要舷角参数的鱼雷攻击、航海避碰以及舰船视觉识别等问题具有一定的参考价值。
[1]郁涛.固定单站纯方位目标运动参数解算方法[J].电波科学学报,2014,29(4):634-638.
[2]刘哲,卫军胡,赵军.一种基于角度测量估计飞行目标运动参数的新方法[J].西安交通大学学报,2008,49(8):986-990.
[3]赵竹新,文贡坚,回丙伟.利用线阵像机估计目标运动参数[J].光电工程,2012,39(1):24-29.
[4]BRADSKI G,KAEHLER A.Learning OpenCV:computer vision with the OpenCV library[M].Beijing:Tsinghua University Press,2009.
[5]陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].北京:科学出版社,2008.
[6]刘松涛,周晓东,王成刚.复杂海空背景下鲁棒的水天线检测算法研究[J].光电工程,2006,33(8):5-10.
[7]OKUZONPT,WAKIZAKO H.Objectsdetectionusing straight line matching in θ-ρ space[J].Electronics and Communication in Japan,2010,93(3):34-41.
[8]王涛,全书海.基于改进Sobel算子的车牌定位方法[J].微计算机信息,2008,24(5):63-65.
[9]蒋婷,谭跃刚,刘泉.基于Sobel算子的图像清晰度评价函数研究[J].计算机与数字工程,2008,36(8):129-131.
[10]ZHANG Z Y.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
A Method for Target's Bearing Real-time Measurement Based on Visual Sensing
REN Ji-chang,YANG Xiao-dong
(Navy Submarine Academy,Qingdao 266042,China)
The target's bearing is an important parameter for torpedo attack,and with which it can compute the route in navigation collision avoidance.In vision recognition,obtaining the target's bearing can determine its relative perspective for me,so it can narrow the search scope in the characteristics library which established by Omni-directional vision of targets,thus increasing the recognition speed.However,the existing method for measuring the target’s bearing all based on continuous tracking and computing,cannot measure at real-time.In order to resolve this issue,it first deduces the principle of target's bearing measurement based on vision sensing,then it proposed an improvement method based on water-sky-line rectification for the condition of camera tilt.In the end it verified by experiment,result shows that this method is simple and easy operation,good real-time performance.
visual measurement,bearing measurement,water-sky-line rectification
TP391.41
A
10.3969/j.issn.1002-0640.2017.11.12
1002-0640(2017)11-0052-04
2016-09-14
2016-11-09
海军装备部“十二五”预研项目(4010103010301-05)
任继昌(1988- ),男,四川盐亭人,博士研究生。研究方向:潜艇导航技术。