多路相机同步采集系统及方法与流程

文档序号:11216206阅读:2656来源:国知局
多路相机同步采集系统及方法与流程

本发明涉及图像拍摄采集领域,尤指一种多路相机同步采集系统及方法。



背景技术:

在虚拟现实视频制作等领域,为了获得更完备的视觉信息,通常需要在同一时刻采集多角度的高分辨率图像,并以高帧速率采集。这给图像采集系统提出了三个要求:1.能同时控制多台相机,并水平扩展;2.能支持高采集带宽;3.多相机之间的曝光触发要同步。在现有技术中存在两种技术方案予以应对上述要求,具体如下:

在现有技术一中,主要是通过单机控制多相机的系统,既多相机通过gige,usb等协议与单主机pcie相连。主机通过轮询或多线程的方式,向相机发送控制信号,并接受相机的采集数据。采集数据通过一个raid写入到ssd阵列中。该方案中,采集带宽受限于单机cpu核数、主频,主板支持的pcie个数,单raid卡性能,而不能水平扩展。以2048*2448,12bit位深度,60fps的图像序列为例,单相机的数据带宽为430mb/s,已接近usb3.0的传输速度。这意味着每个相机需要独占一个线程,才能保证实时采集;同时,raid硬件的写入带宽上限通常需要提高并发写入的指令数才能达到,既存储也需要占用多个线程。即使单相机的带宽减半,如果采集/存储线程不独占,触发了线程切换,导致采集中断,中断时间如果超过了相机内部缓存容纳的帧数,会产生丢帧的情况。

在现有技术二中,主要是利用不同主机会控制不同的相机,主机之间通过网络协议连接。该方案中,主机之间通过网络协议发送控制信号的话,最小会有30ms的误差,这个误差是由基于tcp/ip协议的时钟同步协议决定的,在高帧数率的情况下,这意味着多相机拍摄画面在时间上的不同步。



技术实现要素:

本发明目的在于提供一种多路相机同步采集系统及方法,以解决高带宽同步采集系统中存在的问题,使其既能同时控制多台相机,并水平扩展;又能支持高采集带宽;同时能够同步触发多相机之间的曝光。

为达上述目的,本发明提供了一种多路相机同步采集系统,该采集系统具体包含:处理模组、摄像模组和信号发生器;所述摄像模组包含复数个相机;所述处理模组包含复数个处理模块,所述复数个处理模块中其中一个为主控处理模块;所述主控处理模块用于根据控制指令向复数个处理模块分发数据采集指令;所述处理模块与所述相机相连,用于根据所述数据采集指令设置所述相机的拍摄参数,及获取所述相机拍摄的图像数据;所述信号发生器分别与所述相机相连,用于控制所述相机同步启动拍摄或停止拍摄。

在上述多路相机同步采集系统中,优选的,所述信号发生器与所述主控处理模块相连,当所述相机的拍摄参数设置完成后,所述主控处理模块控制所述信号发生器输出控制信号,控制所述相机同步启动拍摄。

在上述多路相机同步采集系统中,优选的,所述处理模块之间通过tcp/ip协议通信连接;所述处理模块和所述相机通过usb3.0协议通信连接;所述相机通过总线与所述信号发生器相连。

在上述多路相机同步采集系统中,优选的,所述处理模块为计算机,所述处理模块数量与所述主控处理模块cpu内核数量相同。

在上述多路相机同步采集系统中,优选的,所述处理模块与预定数量的所述相机相连,根据所述处理模块的磁盘阵列容量和所述相机拍摄占用带宽,计算获得所述相机的预定数量。

本发明还提供一种多路相机同步采集方法,所述采集方法包含:主控处理模块获取客户端发送的控制指令,根据所述控制指令向复数个处理模块分发数据采集指令;处理模块根据所述数据采集指令设置相机的拍摄参数,及获取所述相机拍摄的图像数据;信号发生器控制复数个相机同步启动拍摄或停止拍摄。

在上述多路相机同步采集方法中,优选的,所述信号发生器控制复数个相机同步启动拍摄包含:当所述相机的拍摄参数设置完成后,所述主控处理模块控制所述信号发生器输出控制信号,控制所述相机同步启动拍摄。

在上述多路相机同步采集方法中,优选的,所述处理模块根据所述数据采集指令设置相机的拍摄参数还包含:所述处理模块与预定数量的所述相机相连,所述预定数量通过根据所述处理模块的磁盘阵列容量和所述相机拍摄占用带宽计算获得。

在上述多路相机同步采集方法中,优选的,所述处理模块根据所述数据采集指令设置相机的拍摄参数还包含:当所述相机的拍摄参数设置完成后,所述处理模块将所述相机设置为待触发状态,所述相机根据所述控制信号触发拍摄。

在上述多路相机同步采集方法中,优选的,所述信号发生器控制复数个相机同步启动拍摄或停止拍摄包含:所述信号发生器输出方波信号,所述相机根据所述方波信号的下沿触发拍摄。

本发明的有益技术效果在于:通过本发明所提供的多路相机同步采集系统及方法,不仅可以采集任意相机数量的相机阵列,而且保证了相机采集数据的同步性克服了现有技术中的延迟问题,再者提供了相机水平扩展的可能。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:

图1为本发明所提供的多路相机同步采集系统的结构示意图;

图2为本发明所提供的多路相机同步采集方法的流程示意图;

图3a至图3c为本发明所提供的多路相机同步采集方法的一较佳实施例流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

请参考图1所示,本发明提供了一种多路相机同步采集系统,该采集系统具体包含:处理模组、摄像模组和信号发生器;所述摄像模组包含复数个相机;所述处理模组包含复数个处理模块,所述复数个处理模块中其中一个为主控处理模块;所述主控处理模块用于根据控制指令向复数个处理模块分发数据采集指令;所述处理模块与所述相机相连,用于根据所述数据采集指令设置所述相机的拍摄参数,及获取所述相机拍摄的图像数据;所述信号发生器分别与所述相机相连,用于控制所述相机同步启动拍摄或停止拍摄。其中所述相机可为现有任意具备触发拍摄的摄像元件;所述处理模块的架设为主从结构,当实际需要时,也可设置为树状结构,通过顶层的控制端分别控制中层与下层的处理模块来统一控制与该些处理模块相连的相机,至于该树状结构中每一处理模块所连接的相机数量,本发明在此并不做限制,相关技术人员可根据实际需要以该处理模块具体带宽、内核数量等因素,酌情连接对应数量的相机。以此,通过处理模块的主从结构,使得后期再次添加相机时,只用单单加设一台处理模块即可,同时,该些相机因均由信号发生器控制开启,导致所述相机采集图像均能同步执行,不再存在延迟的问题。

在上述实施例中,所述处理模块之间通过tcp/ip协议通信连接,采用主从结构;控制信号由一个客户端统一设置,发送给其它节点具备代理功能的处理模块,再由该些处理模块转交给与相机;所述处理模块和所述相机通过usb3.0协议通信连接,其通过该控制信号及数据采集指令来设置相机参数;所述相机通过总线与所述信号发生器相连,信号发生器可直接连接在该总线上,以此保证所有相机均可根据信号发生器输出信号同步启动拍摄或停止拍摄。

在本发明一较佳的实施例中,所述信号发生器与所述主控处理模块相连,当所述相机的拍摄参数设置完成后,所述主控处理模块控制所述信号发生器输出控制信号,控制所述相机同步启动拍摄。其中所述信号发生器即可为人工手动控制输出控制信号,也可与所述主控处理模块相连,在确认所有相机均已配置拍摄参数完成后,同步启动所有相机进行拍摄,以此避免后期相机采集数据存在延时性的问题;上述两种控制方式可根据实际情况选择使用,本发明在此并不做限制。

在本发明一较佳的实施例中,所述处理模块为计算机、fpga、单片机中一个或多个的组合,所述处理模块数量与所述主控处理模块cpu内核数量相同。所述处理模块与预定数量的所述相机相连,根据所述处理模块的磁盘阵列容量和所述相机拍摄占用带宽,计算获得所述相机的预定数量。在该实施例中,所述处理模块可用一切具备存储和处理功能的服务器或元器件替代,本发明在此并不做过多限制。

综上所述,实际工作中,本发明所提供的多路相机同步采集系统总体可有两部分组成,即相机组成的相机阵列和处理模块组成的服务器集群;其中,服务器集群通过tcp/ip协议连接,采用主从结构,控制信号由一个客户端统一设置,发送给其它节点的执行代理功能的服务器,再由代理转交给与相机交互的采集程序;服务器与相机通过usb3.0协议连接,采集程序将有代理得到的信号发送给相机,来设置相机参数;一个采集程序只负责与该主机相连的相机的设置与数据获取,设置与数据接收是独立的,并可以通过增加服务器水平扩展;相机之间通过gpio与一个信号发生器相联。通过信号发生器的方波信号下沿,来触发曝光,保证相机阵列的曝光同步。采集程序在配置过相机参数后,会将相机设置为待触发状态,实际的拍摄起始与结束,由信号发生器通过gpio来控制,保证多相机的同步采集。在连接上述各元件时,主体是将相机通过gpio与信号发生器并联,根据相机的触发方式设置信号的高低电平,占空比等参数。根据服务器核数,确定服务器数量,服务器之间以网线相连。根据采集带宽确定raid阵列的写入带宽。相机与服务器之间通过usb相连。

请参考图2所示,本发明还提供一种多路相机同步采集方法,所述采集方法包含:主控处理模块获取客户端发送的控制指令,根据所述控制指令向复数个处理模块分发数据采集指令;处理模块根据所述数据采集指令设置相机的拍摄参数,及获取所述相机拍摄的图像数据;信号发生器控制复数个相机同步启动拍摄或停止拍摄。其中,所述主控处理模块为所述复数个处理模块的其中一个,其与其他处理模块为主从结构,客户端发送的控制指令通过所述主控模块分发至所有处理模块中,值得说明的是,在所述主控处理模块根据所述控制指令分发数据采集指令时,其也会根据所述数据采集指令对与该主控处理模块相连的相机进行拍摄参数设置,以及获取所述相机拍摄的图像数据。以此,通过处理模块的主从结构,使得后期再次添加相机时,只用单单加设一台处理模块即可,同时,该些相机因均由信号发生器控制开启,导致所述相机采集图像均能同步执行,不再存在延迟的问题。

在上述实施例中,所述处理模块根据所述数据采集指令设置相机的拍摄参数即为现有的远程通信设置相机参数技术,因其具有多种实现方案,且现有技术即可实施,为此本发明在此并不做过多限制及说明。

在上述实施例中,所述信号发生器控制复数个相机同步启动拍摄包含:当所述相机的拍摄参数设置完成后,所述主控处理模块控制所述信号发生器输出控制信号,控制所述相机同步启动拍摄。其中,所述信号发生器可通过输出方波信号,由高低电平控制相机触发开关,而所述相机则可根据所述方波信号的下沿触发拍摄。

在本发明一优选的实施例中,所述处理模块根据所述数据采集指令设置相机的拍摄参数还包含:所述处理模块与预定数量的所述相机相连,所述预定数量通过根据所述处理模块的磁盘阵列容量和所述相机拍摄占用带宽计算获得。例如,当所述处理模块的磁盘阵容容量可容纳8台相机同时拍摄,采集高清图像数据,此时该预定数量即可为1到8台;同理,处理模块的磁盘阵容容量越大,可连接的相机的数量就越高,为此本发明在此并不限制所述预定数量的具体个数,本领域相关技术人员可根据实际情况设置,以保证处理模块的利用最大化和相机采集数据的稳定性。

在实施例中,当所述相机的拍摄参数设置完成后,所述处理模块将所述相机设置为待触发状态,所述相机根据所述控制信号触发拍摄。以此,后续信号发生器可直接根据一触发信号,如方波信号直接触发该些相机,无需进行其他操作。

本发明一优选实施例中,还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现多路相机同步采集方法中相关步骤。

本发明一优选实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行多路相机同步采集方法的计算机程序。

为更清楚的说明上述计算机程序的实现逻辑,请参考图1及图3a-图3c所示,图3a为客户端的启动流程示意图,具体的首先启动采集程序,检验当前是否正在采集,如否,这开启各节点采集进程,同时校验agent是否运行,并清空所有相机的缓存后执行采集工作;其后请参考图3b,图3b为单采集节点中,主线程,预览线程与存储线程的逻辑示意图,首先为每一路相机创建采集文件夹,写入cmd,相机元信息,其后再为每一路相机创建in-placebuffer,并用0去填充buffer,再启动每一台相机,图像相关参数,gpio相关参数,开启从相机捕获功能,接着为每一路相机创建生产者线程和消费者线程,开启消息队列等待ipc消息,最后在关闭消息队列,等待生成/消费线程结束,停止从相机采集,清空buffer,断开相机连接,终止程序。在上述实施例中,为每一路相机创建消费者线程后,还创建采集文件,绑定cpu核,获取buffer尾数数据,检验buffer尾是否为null,如不是,则将buffer尾数据写入ssd,前移尾游标,如是则确定所有写操作完成,关闭文件,退出线程。图3c为单采集节点中,采集线程的处理逻辑示意图,其首先设置对终止信号的处理,创建信条文件,绑定特定cpu核,检测共享变量及获取相机一帧数据,写入buffer头,前移头游标,当采集完成后停止捕获,stop设置为false,并将buffer尾设置为null,退出线程。

本发明的有益技术效果在于:通过本发明所提供的多路相机同步采集系统及方法,不仅可以采集任意相机数量的相机阵列,而且保证了相机采集数据的同步性克服了现有技术中的延迟问题,再者提供了相机水平扩展的可能。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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