一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种观察区域可调式多相机实时拼接系统及方法

2022-04-13 18:49:47 来源:中国专利 TAG:


1.本发明涉及图像处理领域,具体涉及一种观察区域可调式多相机实时拼接系统及方法。


背景技术:

2.随着社会安全意识与科技水平的不断提高,实时监控系统得到了越来越多的应用,既能在城市交通中发挥着重要作用,也能满足普通民众的家用需求。为了满足更大场景的观察需要,人们提出了各类方案。其中,传统多摄像机监控系统可以查看观察区域的细节信息,但由于摄像头之间无关联,整个系统缺乏连续性,且由于单个摄像头的视域有局限,故而无法获知全局情况。鱼眼相机虽能得到广阔的视域,但是却无法查看观察区域中某部分的细节,且存在较为严重的图像变形情况,影响观察效果。此外,全景监控摄像机同样也存在细节无法查看的问题,且造价较为昂贵。为了兼顾细节和视域,且一定程度考虑成本,多相机实时拼接系统应运而生,通过对多路摄像机得到的图像进行拼接,保证细节与全局均可掌控。
3.目前实时拼接主要分为两类方法,一类是对于输入的多相机的每一帧图像,均进行完整的拼接计算过程,该方法使用计算量较低的特征点检测、匹配与融合算法(如orb算法、加权融合),虽然较大程度提高了计算速率,但算法整体鲁棒性与精度较低,对于某些场景适应度较差。当相机增多时,计算量同样较大,对计算机的性能也有较高要求;另一类是先对各路相机采集的第一帧图像进行计算,得到相应的拼接参数,后续帧使用该拼接参数进行投影变换与图像融合。此方法后续帧拼接是否准确取决于第一帧图像所求参数的精确性,当相机数量增多时,拼接参数的精确性将更难保证,需要一定的优化策略。其次,目前主流的多相机实时拼接系统基本为固定相机位置,该拼接系统可以一定程度的扩大观察视场,但由于相机位置完全固定,只能对同一区域进行观察,倘若想改变观测范围,只能更换新的多相机系统或手动调节相机位置,过程将十分繁琐。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种一种观察区域可调式多相机实时拼接系统及方法,能够自动调节相机旋转实现多区域的观测,同时改进的拼接参数计算方案与多种加速手段能保证更高效的得到精确的拼接参数。
5.为实现上述目的,本发明采用如下技术方案:
6.一种观察区域可调式多相机实时拼接系统,包括视频同步采集单元、电控相机旋转单元和视频处理与显示单元;所述视频同步采集单元包括若干视频同步采集模块实现多路相机的同步同帧率采集;所述电控相机旋转调节单元控制视频同步采集单元进行旋转;所述视频处理与显示单元接收视频同步采集单元传输的图像数据,使用cpu与gpu协同处理,输出拼接结果帧实时显示。
7.进一步的,所述视频同步采集模块包括四个相机、交换机以及处理计算机;所述计
算机运行同步指令,定义主相机与从相机,从相机同步于主相机,设置同步采集帧率,实现四路相机的同步同帧率采集。
8.进一步的,所述电控相机旋转调节模块包括两个位置调节电机、两套齿轮机构和相机安装支架;所述四个相机分别安装于相机安装支架的左上、右上、左下和右下位置;所述相机安装支架的右侧与后侧同齿轮机构相连接,齿轮机构又与电机相连;所述右侧电机与齿轮机构控制相机支架绕中心做上下旋转,后侧电机与齿轮机构控制相机支架绕中心做左右旋转。
9.一种观察区域可调式多相机实时拼接系统的拼接方法,包括以下步骤:
10.步骤s1:初始化系统设置;
11.步骤s2:开始同步采集,得到一组四路同步图像;
12.步骤s3:基于改进的拼接参数计算方法对获取的图片进行拼接初始化计算,得到精确拼接参数并保存在本地拼接数据库中,作为后续正式拼接时的拼接模板参数;
13.步骤s4:各相机开始视频同步采集
14.步骤s5:从数据库中提取初始化阶段保存的相应最佳拼接参数,使用gpu加速的投影变换及融合算法,实现对每一帧同步图像的实时拼接与显示;
15.步骤s6:若需改变观察区域,则设定左右与上下方向的旋转度数,电机控制相机支架旋转至相应位置,计算该观察区域的精确拼接并保存,利用该观察位置的拼接模板参数进行实时拼接;
16.步骤s7:对于已遍历的观察区域,再次使用时无需再进行拼接初始化计算,直接调用已保存的拼接模板参数进行拼接即可。
17.进一步的,所述相机包括四个支持ptp功能的gige相机,将其中一台相机选为主时钟,其他相机作为从时钟,通过ptp协议,实现主从相机之间的精确同步,从相机均以主相机的时间为基准,并设置各相机同步采集图像的帧速率,所有相机均以该帧速率进行采图。
18.进一步的,所述改进的拼接参数计算方法,具体为:
19.1)定义计算尺度1,对输入的四路图像进行下采样,变换到尺度1大小;
20.2)使用opencv提供的cudasurf特征点检测与计算描述子算法,快速检测各图像特征点并进行描述子计算;
21.3)定义左下角相机拍摄图像作为拼接基准图,利用opencv cuda库中的最邻近算法实现其他三图与基准图之间的特征点快速匹配;
22.4)利用劳兹算法粗筛匹配点,随后分别利用ransac、lmeds算法并结合lm优化算法进一步筛选内点,计算出其他图变换到基准图的全局单应性矩阵h1与h2,其中h1为使用ransac算法所求,h2为使用lmeds算法所求,共需求6个单应矩阵;
23.5)利用相机自标定方法,根据上一步求得的h1与h2分别计算出相应的内参矩阵和外参矩阵:k1、r1和k2、r2,利用光束平差法细化所求参数,并将细化后的内外参作为初始值输入,进行二次光束平差法优化;
24.6)计算细化后的k1、r1和k2、r2误差大小,对比后选取误差更小一组;
25.7)将上一步所选相机内参数进行放大,还原至原始图尺寸对应参数,外参数不变,所选内外参数作为所需保存的拼接参数值,然后计算四路图像的投影变换图以及变换掩码图。
26.8)定义计算尺度2,对上一步所得投影变换图以及变换掩码图进行下采样至尺度2大小,使用gpu加速的图割法计算最佳拼接缝隙,得到包含最优接缝信息的掩码图像,然后上采样至原始图尺寸并进行相应膨胀运算、与运算得到最终融合所需的模板掩码图像;
27.8)将7)中所得相机内外参与8)中所求的模板掩码附加此刻的位置信息一同保存于本地,作为正式拼接阶段的模板参数库。
28.进一步的,所述步骤s5中利用gpu实现实时拼接具体包括:
29.根据拼接初始化阶段得到的相机内外参矩阵,使用gpu柱面投影变换函数,将各图像投影至以相机焦距f为半径的柱面上,再经反向投影得到最终的全景图像;
30.结合初始化阶段计算出的模板掩码图像,利用gpu实现多频段融合过程,首先分别建立各个图像的拉普拉斯金字塔,然后针对重叠区域,把它们的金字塔的相同层进行合并,最后对该合并后的金字塔进行逆拉普拉斯变换,从而得到最终的融合图像。
31.进一步的,所述步骤s6中电机控制相机支架旋转的策略具体为:设定相机支架绕中心上下和左右旋转的度数,向上和向右为正值,向下和向左为负值;设置旋转度数完毕,发送相应电机控制指令,后侧电机接收指令通过齿轮机构控制相机支架先进行左右方向的旋转,而后右侧电机接收指令通过齿轮机构控制相机支架进行上下方向的旋转,此时系统到达新的位置,获得新的观察区域。
32.本发明与现有技术相比具有以下有益效果:
33.本发明能够自动调节相机旋转实现多区域的观测,同时改进的拼接参数计算方案与多种加速手段能保证更高效的得到精确的拼接参数,在实际应用中,能够实现对某场景更全面、更迅速、更精确的实时观察监测。
附图说明
34.图1是本发明系统结构图;
35.图2是本发明方法的流程图;
36.图3是本发明一实施例中相机同步采集的原理示意图;
37.图4是本发明一实施例中获取的四路室外实时拼接图像示意图;(a)为左上相机采集的视频图像,(b)为右上相机采集的视频图像,(c)为右上相机采集的视频图像,(d)为右上相机采集的视频图像,(e)为最终实时拼接所得大视场图像。
具体实施方式
38.下面结合附图及实施例对本发明做进一步说明。
39.请参照图1,本发明提供一种观察区域可调式多相机实时拼接装置,包括视频同步采集单元、电控相机旋转单元和视频处理与显示单元;
40.优选的,在本实施例中,视频同步采集单元是由四个支持ptp(precision time protocol)功能的basler相机、交换机以及处理计算机组成的同步视频采集设备。计算机运行相机同步程序,通过ptp,多台设备(多相机)自动找寻网络中的最佳主时钟(主相机),而其他非主时钟则称为从时钟(从相机)。定义主时钟后,从相机同步于主相机,将本地时钟精确设置为主时钟的时间。相机同步完毕,运行synchronous free run功能,设置同步采集帧率,即可实现四路相机的同步同帧率采集。
41.优选的,在本实施例中,电控相机旋转调节单元由两个位置调节电机、两套齿轮机构、相机安装支架组成。四相机分别安装于相机安装支架的左上、右上、左下和右下位置,整体处于同一平面,相邻两相机之间间隔相同距离且呈相同夹角。
42.相机安装支架的右侧与后侧同齿轮机构相连接,齿轮机构又与电机相连。右侧电机与齿轮机构控制相机支架绕中心做上下旋转,后侧电机与齿轮机构控制相机支架绕中心做左右旋转,整个模块封装在球形的透明玻璃罩内。
43.优选的,在本实施例中,视频处理与显示单元,即处理视频数据的计算机与显示设备。该计算机装有带poe供电功能的netgear万兆交换机,该交换机连接四路gige相机,为相机供电并接收相机拍摄的图像数据。使用cpu与gpu协同处理视频数据,输出拼接结果帧实时显示,实验所用计算机cpu为i5-11400h,gpu为nvidia rtx1650。
44.在本实施例中,还提供一种观察区域可调式多相机实时拼接系统的拼接方法,包括以下步骤:
45.步骤s1:初始化系统设置;
46.步骤s2:开始同步采集,得到一组四路同步图像;
47.步骤s3:基于改进的拼接参数计算方法对获取的图片进行拼接初始化计算,得到精确拼接参数并保存在本地拼接数据库中,作为后续正式拼接时的拼接模板参数;
48.步骤s4:各相机开始视频同步采集
49.步骤s5:从数据库中提取初始化阶段保存的相应最佳拼接参数,使用gpu加速的投影变换及融合算法,实现对每一帧同步图像的实时拼接与显示;
50.步骤s6:若需改变观察区域,则设定左右与上下方向的旋转度数,电机控制相机支架旋转至相应位置,计算该观察区域的精确拼接并保存,利用该观察位置的拼接模板参数进行实时拼接;
51.步骤s7:对于已遍历的观察区域,再次使用时无需再进行拼接初始化计算,直接调用已保存的拼接模板参数进行拼接即可。
52.优选的,在本实施例中,所述图像同步采集以及步骤s5所述视频同步采集,其同步原理可参见图3,详细同步策略如下:
53.第一步,保证相机之间的时间同步。
54.使用支持ptp(precisiontime protocol)功能的basler gige相机,使用万兆交换机连接pc与四路相机。运行相应同步程序,通过ptp,多台设备(多相机)自动找寻网络中的最佳主时钟(主相机),而其他非主时钟的设备则称为从时钟(从相机)。定义主时钟后,从相机同步于主相机,将本地时钟精确设置为主时钟的时间。其中,同步过程可分为以下两步骤:
55.1)校准主时钟和从时钟之间的时间差,称为偏移校正。主时钟以最佳时间估计(作为时间戳)向连接的从时钟发送一条周期性同步消息。同时,系统以可以实现的最高精度级别测量消息发送的时间
56.2)主时钟然后向从时钟发送第二个后续消息,其中包含发送相应同步消息的精确的实际发送时间信息。从时钟然后测量收到第一条消息和后续消息之间的精确间隔,使用此结果定义一个来自主时钟的纠正“偏移量”。从时钟然后调整本身以消除偏移量。
57.第二步,保证相机均采用同一帧率进行采集。
58.使用synchronous free run功能,对syncfreeruntimertriggerrateabs参数进行设置,改值即多相机同步采集的帧率。初始化阶段,正式拼接阶段设为30,即以30帧/s速率采图,较好满足实时要求。
59.优选的,在本实施例中,改进的拼接参数计算方法的步骤如下:
60.1)定义计算尺度1,对输入的四路图像进行下采样,变换到尺度1大小;
61.2)使用opencv提供的cuda surf特征点检测与计算描述子算法,快速检测各图像特征点并进行描述子计算;
62.3)定义左下角相机拍摄图像作为拼接基准图,利用opencv cuda库中的2-nn算法实现其他图与基准图之间的特征点快速匹配;
63.4)利用劳兹算法粗筛匹配点,随后分别利用ransac(random sample consensus)、lmeds(least median of squares)算法并结合lm(levenberg-marquardt)优化算法进一步筛选内点,计算出其他图变换到基准图的全局单应性矩阵h1与h2(h1为使用ransac算法所求,h2为使用lmeds算法所求),共需求6个单应矩阵;
64.5)利用相机自标定方法,根据上一步求得的h1与h2分别计算出相应的内参矩阵和外参矩阵(旋转矩阵):k1、r1和k2、r2,利用光束平差法细化所求参数,并将细化后的内外参作为初始值输入,进行二次光束平差法优化;
65.6)计算细化后的k1、r1和k2、r2误差大小,对比后选取误差更小一组;
66.7)将上一步所选相机内外参数进行放大,还原至原始图尺寸对应参数,作为所需保存的拼接参数值,然后计算四路图像的投影变换图以及变换掩码图。
67.8)定义计算尺度2,对上一步所得投影变换图以及变换掩码图进行下采样至尺度2大小,使用gpu加速的图割法计算最佳拼接缝隙,得到包含最优接缝信息的掩码图像并上采样至原始图尺寸并进行相应膨胀运算、与运算得到最终融合所需的模板掩码图像。
68.9)将7)中所得相机内外参与8)中所求的模板掩码附加此刻的位置信息一同保存于本地,作为正式拼接阶段的模板参数库;
69.其中,4)中采用不同内点筛选方法的目的为:场景图像是多变的,单独的内点筛选算法(ransac算法)的适应性有限,某些场景下并不能得到准确结果。相对于ransac,lmeds有一个优点:不需要指定误差阈值ransacthreshold。ransac的阈值在具有物理意义或者几何意义的时候比较容易确定,但是当阈值不具有这些特征的时候,就成不便调整的参数。这时lmeds可以自适应迭代获得最优解。因此,增加一类原理不同的筛选算法,通过比对选择更优解,从而提高算法整体的精确性与鲁棒性。而5)中将光束平差法优化后的内外参的解作为初始值输入,进行二次迭代运算,这可以进一步降低误差,得到更精确参数用来投影变变换,提高后续拼接的准确性。
70.方案中采取的多手段加速方法有:在不同阶段使用不同尺度图像进行处理,目的在于保证计算准确的情况下尽可能减小计算量,从而提高代码的运行速率;其次,高效利用opencv cuda函数库,对特征信息提取、特征点匹配、上下采样图像、数据格式转换等部分进行gpu端运算,并通过多线程技术,开辟不同线程,并行计算全局单应性矩阵h1与h2以及后续的k1、r1和k2、r2,进一步提高代码计算速率。
71.在本实施例中,优选的,实现每一帧同步图像的实时拼接与显示,具体为:
72.根据拼接初始化阶段得到的较精确相机内外参矩阵,使用gpu柱面投影变换函数,
将各图像投影至以相机焦距f为半径的柱面上,再经反向投影得到最终的全景图像;结合初始化阶段计算出的模板掩码图像,利用gpu实现多频段融合过程,首先分别建立各个图像的拉普拉斯金字塔,然后针对重叠区域,把它们的金字塔的相同层进行合并,最后对该合并后的金字塔进行逆拉普拉斯变换,从而得到最终的融合图像。实验采用200万像素basler相机采集图像,最终可实现30fps以上帧率的流畅拼接画面,拼接结果图可参见图4。
73.在本实施例中,优选的,电机控制相机支架旋转的策略具体为:
74.设定相机支架绕中心上下和左右旋转的度数,向上和向右为正值,向下和向左为负值。设置旋转度数完毕,发送相应电机控制指令,后侧电机接收指令通过齿轮机构控制相机支架先进行左右方向的旋转,而后右侧电机接收指令通过齿轮机构控制相机支架进行上下方向的旋转,此时系统到达新的位置,获得新的观察区域。
75.以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献