一种基于球面展开模型的鱼眼视频实时全景校正方法与流程

文档序号:12804785阅读:365来源:国知局
一种基于球面展开模型的鱼眼视频实时全景校正方法与流程

本发明属于涉及图像视频处理领域,具体涉及一种基于球面展开模型鱼眼图像校正方法,并实现鱼眼视频的实时全景展开。



背景技术:

鱼眼镜头具有结构紧凑、体积小、不易损坏等优点;同时考虑到采用鱼眼镜头构建的全方位视觉可获取真正意义上的全景球面图像,无盲区,无须考虑图像拼合和嵌接等问题,所以鱼眼镜头是构建全方位视觉系统最有效的方法之一,具有很高的研究价值和广泛的潜在应用前景。目前它在视频监控、视频会议、虚拟现实和机器人导航等领域都具有很广泛的应用。但鱼眼镜头摄像机拍摄的图像具有非常严重的畸变,若要利用这些具有严重变形图像的信息,就需将这些变形图像校正展开为人们所习惯的图像模式。因此研究开发一种算法,使鱼眼图像恢复成人眼所能接受显示效果,并且能实现实时、精确的校正和展开具有学术意义和实际应用价值。

实现鱼眼视频的全景校正一般分为以下几步:鱼眼图像的采集→鱼眼图像预处理→几何关系变换→图像的重投影→鱼眼视频实时全景校正的实现。鱼眼图像校正技术主要可以分为三类:基于几何投影、基于相机标定、基于人工智能。基于几何投影模型的校正方法主要是利用空间几何坐标关系进行校正,找到鱼眼图像中的像素点与校正后图像中像素点之间的映射关系,但是基于几何投影模型的校正方法往往受限于鱼眼图像的宽视角,导致有效校正区域小,边缘部分仍存在较大畸变。基于相机标定的校正方法,是建立在鱼眼相机模型的基础上,通过设计适合的标定方法求得相应鱼眼相机的模型参数。鱼眼镜头标定的目的是得到鱼眼相机模型的变形参数,依据这些畸变参数就可以校正当前镜头拍摄的鱼眼图像。然而这种方法的主要问题是,鱼眼镜头生产工艺的精度不一定都能满足要求,而且实际使用的镜头千差万别,特定的畸变模型不一定能够适合多种镜头的成像结果校正法估算多项式的系数。基于人工智能的校正方法,以基于支持向量机(svm)的方法为例,该类方法避免了畸变模型的选择和选用特定模型带来的局限性问题。使用svm技术建立校正后图像点与校正前图像点的坐标映射关系,从而实现鱼眼图像的校正,但这种方法需要大量的训练样本,导致工作量巨大,并且训练过程也比较耗时,难以同时满足时效与精度的要求。

综上所述,目前鱼眼视频的校正存在以下问题:

(1)基于几何投影的鱼眼图像校正方法简便,但是受限于鱼眼镜头的宽视角,导致有效校正区域受限;

(2)基于相机标定的鱼眼图像校正方法对特定镜头校正精度高,但不能同时满足多种鱼眼镜头的畸变校正;

(3)基于人工智能的鱼眼图像校正方法避免了针对特定镜头校正的局限性,但是训练样本大,计算复杂度高且存储空间大,不易于硬件实现。



技术实现要素:

鉴于以上所述现有技术存在的问题和不足,本发明技术方案提供的一种基于球面展开模型的鱼眼图像校正方法,实现鱼眼视频的实时全景校正,包括以下步骤:

步骤s1,采集鱼眼图像;

步骤s2,鱼眼图像预处理;

步骤s3,鱼眼图像轮廓提取;

步骤s4,计算图像校正平面上任意点对应鱼眼图像上的像素点坐标,具体包括以下子步骤,

步骤s4-1,根据步骤3获得像平面及鱼眼镜头半球面,其中像平面为鱼眼图像所在平面,设为xoy平面,鱼眼镜头半球面以鱼眼图像的中心o为球心,r为半径;

步骤s4-2,确定图像校正平面,设校正平面abcd平行于所述像平面,且与鱼眼镜头半球面相切与o’;

步骤s4-3,将图像校正平面上的点先还原到鱼眼镜头半球面上,再将半球面上该点垂直投影到鱼眼图像像平面,具体实施如下,

遍历校正平面上的任意点n”(x2,y2),设o’n”的倾斜角α,角α与o’n”的长度计算如下,

n’是半球面上一点,圆弧段o’n’的长度等于o’n”,则n’点坐标计算如下,

将n’点垂直投影到像平面上,得n点坐标为,

其中,r为鱼眼图像的半径,n为校正平面上点n”在鱼眼图像上对应的像素点坐标;

步骤s5,基于鱼眼图像的重投影,将鱼眼图像上所有像素点的像素值赋给校正平面对应的像素点;

步骤s6,将鱼眼镜头实时采集的每幅鱼眼图像的每个像素进行所述步骤s1-s5的校正过程,实现鱼眼视频实时全景校正。

而且,所述步骤s3,鱼眼图像轮廓提取的具体实施方式如下,

步骤s3-1,从图像第一行开始,在行方向上进行扫描,若当前行中像素的灰度值都为0,则继续扫描下一行,直到在某一行中第一次出现有像素的灰度值不为0,则记录下当前行号h1;

步骤s3-2,接着上一步在行方向上继续进行扫描,若当前行中有像素的灰度值不为0,则继续扫描下一行,直到在某一行中第一次出现所有的像素的灰度值都为0,则记录下当前行号h2;

步骤s3-3,从图像第一列开始,在列方向上进行扫描,若当前行中像素的灰度值都为0,则继续扫描下一列,直到在某一列中第一次出现有像素的灰度值不为0,则记录下当前列号l1;

步骤s3-4,接着上一步在列方向上继续进行扫描,若当前列中有像素的灰度值不为0,则继续扫描下一列,直到在某一列中第一次出现所有的像素的灰度值都为0,则记录下当前列号l2;

步骤s3-5,记录下h1,h2,l1,l2后,圆形区域c可用圆心坐标(x,y)和半径r来表示,

c→{(x,y),r}(1)

其中,

鱼眼图像轮廓则是以圆心坐标(x,y)为中心、半径r的圆形区域轮廓。

与现有的技术相比,本发明具有以下优点和有益效果:

(1)本发明能实现鱼眼图像的广视角、大范围区域的校正,使校正的图像范围不受图像宽视角的限制;

(2)本发明考虑到鱼眼图像校正的时效性,从鱼眼图像的圆形特征出发,建立“球面模型”,利用球面展开原理进行全景图像展开以及校正,无需大量训练样本,算法复杂度小,便于实现,步骤简明高效。

(3)本发明的方法对各种鱼眼镜头的校正效果良好,具备一定的鲁棒性与普适性,有较强的实用性。

附图说明

图1是本发明实施例的总体流程图。

图2是本发明中鱼眼图像的成像模型示意图。

图3是本发明中基于“球面展开模型”的鱼眼图像校正原理示意图。

具体实施方式

下面结合附图和实施例对本发明的技术方案作进一步说明。

利用人工智能的方法可以弥补鱼眼图像校正在精度上的不足,但是常用的特征训练算法复杂度较高,样本量需求较大,时效性受到影响,不利于实时的应用。从上述问题出发,本发明提供一种基于球面展开模型的鱼眼图像校正方法,实现鱼眼视频的实时全景校正。

下面以一个鱼眼镜头作为实施例。实施例中选用威鑫视界sy019hd型号的240度广角鱼眼摄像头进行实时鱼眼图像的采集。

本发明一种基于球面展开模型的鱼眼视频实时全景校正方法的实施例具体流程包括:

步骤s1,采集鱼眼图像,一幅完整的鱼眼图像应该是呈圆形状的,周围黑色背景是没有像素值的区域,后续步骤就是基于圆形图像区域进行校正的;

步骤s2,鱼眼图像预处理,图像预处理阶段主要是对图像进行去噪,提高图像质量;

步骤s3,鱼眼图像轮廓提取,即鱼眼图像的像平面轮廓提取,鱼眼图像的圆形轮廓是后续步骤的实施基础。本发明实施例利用“扫描法”进行圆形轮廓进行提取,具体步骤如下:

步骤s3-1,从图像第一行开始,在行方向上进行扫描,若当前行中像素的灰度值都为0,则继续扫描下一行,直到在某一行中第一次出现有像素的灰度值不为0,则记录下当前行号h1;

步骤s3-2,接着上一步在行方向上继续进行扫描,若当前行中有像素的灰度值不为0,则继续扫描下一行,直到在某一行中第一次出现所有的像素的灰度值都为0,则记录下当前行号h2;

步骤s3-3,从图像第一列开始,在列方向上进行扫描,若当前行中像素的灰度值都为0,则继续扫描下一列,直到在某一列中第一次出现有像素的灰度值不为0,则记录下当前列号l1;

步骤s3-4,接着上一步在列方向上继续进行扫描,若当前列中有像素的灰度值不为0,则继续扫描下一列,直到在某一列中第一次出现所有的像素的灰度值都为0,则记录下当前列号l2;

步骤s3-5,记录下h1,h2,l1,l2后,圆形区域c可用圆心坐标(x,y)和半径r来表示,即:

c→{(x,y),r}(1)

其中,

在本实施例中,求得的结果为(单位:像素):

步骤s4,图像几何关系变换,这一步根据“球面展开模型”计算出校正平面上每个点对应到鱼眼图像上的像素点坐标,具体步骤如下:

首先介绍鱼眼成像的“球面展开模型”,如附图2所示,图中的半球即代表鱼眼镜头,o为镜头中心,xoy平面视为像平面,对于任一物方点p,连接其与镜头中心o得到线段po,po交半球面(即镜头表面)于p’,再过p’作像平面xoy的垂线,垂足为p”,p”即为物方点p在像平面上的像点。根据这一成像特点,很容易发现鱼眼相机成像的畸变规律,从而实现图像的校正。鱼眼图像的校正过程实际上就是将鱼眼成像面上的点先还原到半球面上,再将半球面上该点对应到校正平面上,即可完成校正。

步骤s4-1,根据步骤3获得像平面及鱼眼镜头半球面,其中像平面为鱼眼图像所在平面,设为xoy平面,鱼眼镜头半球面以鱼眼图像的中心o为球心,r为半径;

步骤s4-2,确定图像校正平面,如附图3所示,为了将鱼眼图像按照球面模型从中心展开,本实施例将平面abcd作为校正平面,其中平面abcd平行于xoy平面,且与半球相切与o’。

步骤s4-3,空间变换关系计算,将图像校正平面上的点先还原到鱼眼镜头半球面上,再将半球面上该点垂直投影到鱼眼图像像平面。此步骤是计算校正平面上任意像素点n”(x2,y2)在鱼眼图像中对应的像素点位置n(x1,y1),从校正平面到鱼眼图像平面,这是一个逆过程,其中,(x2,y2)所处的坐标系是以切点o’为原点,bc平行方向为x’轴,ab平行方向为y’轴;而(x1,y1)所处的坐标系就是附图3中xoy坐标系,坐标系x’o’y’与坐标系xoy是平行关系,借助这个关系可以实现后续的坐标校正变换。

遍历校正平面上的任意像素点n”(x2,y2),先求出o’n”的倾斜角α,即o’n”在第一象限与x’轴正方向的夹角,根据该倾斜角α在像平面上找到一点k,使得ok在第一象限与x轴的夹角也为α,然后再到圆弧o’k上找一点n’,使得圆弧段o’n’的长度等于o’n”,最后将n’点垂直投影到鱼眼成像面xoy上的n点,此n点就是鱼眼图像中对应校正平面上n”点的待校正像素点。

上述过程中,角α与o’n”(等于o’n’弧段)的长度计算如下:

n’点坐标计算如下:

则n点坐标为:

例如,当x2=3,y2=4时,计算可得:

n’点坐标:

则n点坐标为:

步骤s5,基于鱼眼图像的重投影,即是将鱼眼图像上n点的像素值赋给校正平面的像素点n”,由于n常常不是整数,因此需要进行插值采样,本实施例采用双线性内插方法进行插值。

步骤s6,鱼眼视频实时全景校正的实现,通过对鱼眼镜头实时采集的每幅鱼眼图像,实时的将每个像素进行上述的校正过程,即可实现鱼眼视频实时全景校正。

经过以上步骤,实现了基于一种“球面展开模型”的鱼眼视频实时全景校正方法,实验表明,校正结果准确、高效。具体实施时,以上流程可采用计算机软件技术实现自动运行流程。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1