CN110611746A - 一种多摄像头同步方法及分布式系统 - Google Patents
一种多摄像头同步方法及分布式系统 Download PDFInfo
- Publication number
- CN110611746A CN110611746A CN201910827268.5A CN201910827268A CN110611746A CN 110611746 A CN110611746 A CN 110611746A CN 201910827268 A CN201910827268 A CN 201910827268A CN 110611746 A CN110611746 A CN 110611746A
- Authority
- CN
- China
- Prior art keywords
- camera
- cameras
- acquisition
- synchronization
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/06—Generation of synchronising signals
- H04N5/067—Arrangements or circuits at the transmitter end
- H04N5/073—Arrangements or circuits at the transmitter end for mutually locking plural sources of synchronising signals, e.g. studios or relay stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Abstract
本发明公开了一种多摄像头同步方法及分布式系统,属于计算机应用领域,方法应用于分布式系统,系统包括主节点和至少一个工作节点,每个工作节点均连接有若干摄像头,方法包括:由任一工作节点针对所连接的所有摄像头执行如下操作:在任一摄像头进入准备完成状态时,开始对摄像头进行采集前同步,其中,每个摄像头均被工作节点预先分配了独立的线程;每当一个摄像头的采集前同步完成时,阻塞摄像头的线程,直至所有摄像头的采集前同步完成后,向主节点发起远程同步请求;在接收到主节点广播的远程同步完成信息时,唤醒被阻塞的每个摄像头的线程同时分别调用每个摄像头的SDK以获取图片帧。本发明能够确保所有摄像头获取到的图片帧是同一时刻的。
Description
技术领域
本发明涉及计算机应用领域,特别涉及一种多摄像头同步方法及分布式系统。
背景技术
随着深度学习的快速发展,计算机视觉已成为人工智能领域最重要的技术之一,已被广泛应用于多个领域,例如智慧零售领域的无人商店。计算机视觉技术主要是对图像、视频进行处理,在人员检测和跟踪方面,起着不可替代的作用。当无人商店的面积很大,单台摄像头拍摄画面无法覆盖整个店面时,就需要多台摄像头进行覆盖,这些摄像头的数据处理也分布在不同的PC设备上。当需要对店内人员进行检测或跟踪时,所有摄像头拍摄的画面必须是同一时刻的,这样才能保证不会出现人员检测重复的情况。
现有技术中,大多数的摄像头同步采用的主要是硬件同步方案,这种方案需要单独的硬件同步设备,在固定时刻向每个摄像头发送采集同步信号,并且所有的摄像头需要定制模块,这些模块能够接收同步信号并进行同步采集图片,但这种方案需要额外的硬件设备,必然会增加整个系统的成本。此外,还有一种方案是,摄像头设备会在摄像头上给每帧图像打上时间戳,让用户根据时间戳去匹配,由于每个摄像头拍照时间不同,每个摄像头获取帧的时间也不能统一,必须人为去设定一个时间点,然后对依照时间点去匹配每个摄像头,这样就可能存在某个摄像头有的时刻不能匹配到图片帧,而有的时刻能够匹配到两个图片帧的情况。
综上,如何在不额外增加硬件同步设备的情况下,对多个摄像头进行同步,以确保所有摄像头获取到的图片帧是同一时刻的,成为亟需解决的技术问题。
发明内容
为了解决上述背景技术中提到的技术问题,本发明提供了一种多摄像头同步方法及分布式系统,在不额外增加硬件同步设备的情况下,对多个摄像头进行同步,能够确保所有摄像头获取到的图片帧是同一时刻的。
本发明实施例提供的具体技术方案如下:
第一方面,提供了一种多摄像头同步方法,应用于分布式系统,所述系统包括主节点和至少一个工作节点,每个所述工作节点均连接有若干摄像头,所述方法包括:
由任一所述工作节点针对所连接的所有摄像头执行如下操作:
在任一所述摄像头进入准备完成状态时,开始对所述摄像头进行采集前同步,其中,每个所述摄像头均被所述工作节点预先分配了独立的线程;
每当一个所述摄像头的采集前同步完成时,阻塞所述摄像头的线程,直至所有所述摄像头的采集前同步完成后,向所述主节点发起远程同步请求;
在接收到所述主节点广播的远程同步完成信息时,唤醒被阻塞的每个所述摄像头的线程同时分别调用每个所述摄像头的SDK以获取图片帧。
进一步地,所述每当一个所述摄像头的采集前同步完成时,阻塞所述摄像头的线程,直至所有所述摄像头的采集前同步完成,包括:
所述工作节点在每接收到完成初始化的一个所述摄像头发出的准备完成信号时,对第一全局计数器加一,并阻塞所述摄像头的线程;
将所述第一全局计数器的计数与所有所述摄像头的数量进行比较,若相等,则确定所有所述摄像头的采集前同步完成。
进一步地,所述向所述主节点发起远程同步请求步骤之后,所述方法还包括:
所述主节点在接收到所述远程同步请求时,判断是否达到远程同步条件,若达到,则生成所述远程同步完成信息,并广播至所有所述工作节点。
进一步地,所述主节点在接收到所述远程同步请求时,判断是否达到远程同步条件,包括:
所述主节点在每接收到一个所述工作节点发起的远程同步请求时,对第二全局计数器加一;
将所述第二全局计数器的计数与所有所述工作节点的数量进行比较,若相等,则生成所述远程同步完成信息。
进一步地,所述方法还包括:
在任一所述摄像头的线程获取到图片帧时,开始进行采集后同步,当所有所述摄像头的线程都获取到图片帧时,确定所述采集后同步完成。
进一步地,所述方法还包括:
任一所述工作节点在确定所述采集后同步完成时,将所连接的所有所述摄像头的线程所获取到的图片帧全部存储到数据处理模块的内存中。
第二方面,提供了一种用于多摄像头同步的分布式系统,所述系统包括主节点和至少一个工作节点,每个所述工作节点均连接有若干摄像头;
任一所述工作节点包括:
采集前同步单元,用于在任一所述摄像头进入准备完成状态时,开始对所述摄像头进行采集前同步,其中,每个所述摄像头均被所述工作节点预先分配了独立的线程;
线程阻塞单元,用于每当一个所述摄像头的采集前同步完成时,阻塞所述摄像头的线程;
远程同步请求单元,用于在所有所述摄像头的采集前同步完成后,向所述主节点发起远程同步请求,并接收所述主节点广播的远程同步完成信息;
线程唤醒单元,用于在接收到所述主节点广播的远程同步完成信息时,唤醒被阻塞的每个所述摄像头的线程同时分别调用每个所述摄像头的SDK以获取图片帧;
所述主节点,用于接收任一所述工作节点发起的远程同步请求,并向所有所述工作节点广播所述远程同步完成信息。
进一步地,所述采集前同步单元具体用于:
在每接收到完成初始化的一个所述摄像头发出的准备完成信号时,对第一全局计数器加一,并阻塞所述摄像头的线程;
将所述第一全局计数器的计数与所有所述摄像头的数量进行比较,若相等,则确定所述采集前同步完成。
进一步地,所述主节点具体用于:
在接收到所述远程同步请求时,判断是否达到远程同步条件,若达到,则生成所述远程同步完成信息,并广播至所有所述工作节点。
进一步地,所述主节点具体用于:
在每接收到一个所述工作节点发起的远程同步请求时,对第二全局计数器加一;
将所述第二全局计数器的计数与所有所述工作节点的数量进行比较,若相等,则生成所述远程同步完成信息。
进一步地,任一所述工作节点还包括:
采集后同步单元,用于在任一所述摄像头的线程获取到图片帧时,开始进行采集后同步,当所有所述摄像头的线程都获取到图片帧时,确定所述采集后同步完成。
进一步地,任一所述工作节点还包括:
图片帧存储模块,用于在确定所述采集后同步完成时,将所述工作节点连接的所有所述摄像头的线程所获取到的图片帧全部存储到数据处理模块的内存中。
进一步地,所述主节点和至少一个工作节点位于同一个局域网内。
本发明实施例提供的技术方案带来的有益效果是:
1.本发明不需要额外增加硬件同步设备,摒弃了硬件同步,可以适配市面上大多数的摄像头,只要该摄像头提供了获取视频信息的SDK即可,因此具有较强的适用性;
2.本发明没有使用时间戳,通过采用分布式方案并利用同步锁机制,能够更加准确地同步调用视频SDK去获取图片帧,从而能够保证各个摄像头的线程读取到的图片帧是同一时刻的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多摄像头同步方法的应用环境示意图;
图2是本发明实施例提供的一种多摄像头同步方法的流程图;
图3是本发明实施例提供的一种用于多摄像头同步的分布式系统的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,在本发明的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
还应当理解,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明实施例提供的多摄像头同步方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境为一个分布式系统,分布式系统包括主节点101和多个工作节点102,各个工作节点102分别与不同的集群摄像头103连接,每一集群摄像头103均包含一个或多个摄像头,不同集群摄像头布设于一个监控区域内的不同局部区域中,可以理解的是,图1中的工作节点102的数量仅示出两个,在实际应用中,工作节点102的数量也可以是一个或两个以上。其中,主节点101和工作节点102通过网络进行通信,工作节点102与集群摄像头103通过网络进行通信,网络可以采用有线方式或者无线方式。其中,主节点101和工作节点102均可以被配置为具有处理器和存储器的电子设备,电子设备可以是各种个人计算机(例如PC机)、服务器等设备,每个集群摄像头103中摄像头的数量可以动态的增加或减少;集群摄像头103中的各个摄像头均预先配置有用于采集视频图像数据的摄像头SDK(SoftwareDevelopment Kit,软件开发工具包),各个摄像头的型号可以相同或不同。
本发明实施例提供的多摄像头同步方法用于在不额外增加硬件同步设备的情况下,对各种摄像头监控区域中的多个摄像头进行同步,确保所有摄像头获取到的图片帧是同一时刻的,从而便于准确地对摄像头监控区域内的可移动对象(例如人员)进行检测或跟踪。其中,摄像头监控区域包括但不限于大型商场、智慧零售无人超市、车站等。
在一个实施例中,提供了一种多摄像头同步方法,以该方法应用于图1所示的分布式系统为例进行说明,分布式系统包括主节点和至少一个工作节点,每个工作节点均连接有若干摄像头,如图2所示,该方法包括::
步骤S11,由任一工作节点在所连接的任一摄像头进入准备完成状态时,开始对摄像头进行采集前同步,其中,每个摄像头均被工作节点预先分配了独立的线程。
其中,摄像头进入准备完成状态表示该摄像头完成准备工作。
其中,摄像头的线程用于调用摄像头SDK以获取图片帧,摄像头的线程可以被阻塞以进入阻塞状态(或称为等待状态),被阻塞的线程可以被唤醒以进入可执行状态,进入可执行状态后,线程可执行调用摄像头SDK以获取图片帧。
本实施例中,当任一工作节点连接的任一摄像头进入准备完成状态时,开始对该摄像头进行采集前同步,其中,采集前同步是指在读取摄像头帧图片之前对摄像头进行同步。
步骤S12,每当一个摄像头的采集前同步完成时,阻塞摄像头的线程,直至所有摄像头的采集前同步完成后,向主节点发起远程同步请求。
具体地,工作节点可以采用全局计数器的方式,每当一个摄像头进入准备完成状态时,全局计数器加一并阻塞进入准备完成状态的摄像头的线程,当全局计数器的计数等于该工作节点所连接的摄像头个数时,确定所有摄像头的采集前同步完成。
本实施例中,由于每个摄像头的采集前同步完成时,该摄像头的线程会被阻塞,因此所有摄像头的采集前同步完成时,所有摄像头各自的线程被全部阻塞。工作节点可以在该工作节点连接的每个摄像头的线程都进入阻塞状态后,通过网络向主节点发起远程同步请求。
步骤S13,在接收到主节点广播的远程同步完成信息时,唤醒被阻塞的每个摄像头的线程同时分别调用每个摄像头的SDK以获取图片帧。
具体地,工作节点在接收到主节点广播的远程同步完成信息时,对该工作节阻塞的每个摄像头的线程使用notifyAll()方法进行唤醒处理,使得每个摄像头的线程在唤醒后进入可执行状态,当摄像头的线程进入可执行状态后能够调用SDK获取图片帧。
本实施例中,通过唤醒被阻塞的每个摄像头的线程同时分别调用每个摄像头的SDK以获取图片帧,由于所有摄像头的线程是同步调用对应的摄像头SDK去获取图片帧,因此能够在同一时刻利用各个摄像头提供的SDK取获取各个摄像头的图片帧,从而能够确保各个摄像头的线程读取到的图片帧是同一时刻的。
本发明实施例提供了一种多摄像头同步方法,通过采用分布式方案并利用同步锁机制,由任一工作节点在对所连接的所有摄像头进行采集前同步完成时,该工作节点所连接的各个摄像头的线程也全被阻塞,并通过该工作节点向主节点发起远程同步请求,以及在接收到主节点广播的远程同步完成信息后,通过唤醒被阻塞的每个摄像头的线程同时分别调用每个摄像头的SDK以获取图片帧,由此能够在同一时刻利用各个摄像头提供的SDK取获取各个摄像头的图片帧,从而能够保证各个摄像头的线程读取到的图片帧是同一时刻的。
在一个实施例中,上述步骤S11中由任一工作节点在所连接的任一摄像头进入准备完成状态时,开始对摄像头进行采集前同步之前,方法还可以包括:
各个工作节点对各自连接的所有摄像头进行初始化,并给各自连接的每个摄像头分配独立的线程。
具体地,各个工作节点在启动后可以从主节点上获取到主节点上预先存储的配置文件,加载配置文件,通过配置文件中的配置参数对各个摄像头进行初始化,配置摄像头的分辨率,并给每个摄像头分配独立的线程。
在一个实施例中,上述步骤S12中每当一个摄像头的采集前同步完成时,阻塞摄像头的线程,直至所有摄像头的采集前同步完成,该过程具体可以包括:
工作节点在每接收到完成初始化的一个摄像头发出的准备完成信号时,对第一全局计数器加一,并阻塞摄像头的线程,将第一全局计数器的计数与所有摄像头的数量进行比较,若相等,则确定所有摄像头的采集前同步完成。
其中,工作节点预先设置有第一全局计数器,第一全局计数器在采集前同步前被初始化为零。第一全局计数器可以用于统计该工作节点连接的所有摄像头中完成准备工作的摄像头的总数。
本实施例中,工作节点对发出准备完成信号的摄像头进行阻塞时,可以使用wait()方法阻塞摄像头的线程,使得摄像头的线程进入阻塞状态,当摄像头的线程进入阻塞状态后会暂停执行调用SDK获取图片帧。
在一个实施例中,上述步骤S12中向主节点发起远程同步请求步骤之后,方法还包括:
主节点在接收到远程同步请求时,判断是否达到远程同步条件,若达到,则生成远程同步完成信息,并广播至所有工作节点。
具体来说,主节点在接收到远程同步请求时,判断是否达到远程同步条件,可以包括以下步骤:
主节点在每接收到一个工作节点发起的远程同步请求时,对第二全局计数器加一,将第二全局计数器的计数与所有所述工作节点的数量进行比较,若相等,则生成远程同步完成信息。
其中,主节点预先设置有第二全局计数器,第二全局计数器在远程同步前被初始化为零,并在远程同步完成后被清零。
本实施例中,主节点接收到所有工作节点各自发起的远程同步请求后,生成远程同步完成信息,并广播至所有工作节点。如此,可以使得主节点对所有的工作节点进行远程同步,从而使得后续各工作节点可以对各自连接的集群摄像头进行本地同步,由此能够对整个监控区域内的所有摄像头进行同步,实现更为全面、准确地对摄像头监控区域内的可移动对象进行检测或跟踪。
需要说明的是,当主节点向所有工作节点广播远程同步完成信息后,对第二全局计数器进行清零。
本实施例中,主节点对所有工作节点进行远程同步可以采用计数器方式,即:主节点接收到单个工作节点发起的远程同步请求后,对全局计数器加一,当全局计数器的计数与所有所述工作节点的数量相等时,表示远程同步完成,主节点则生成远程同步完成信息,向所有工作节点广播远程同步完成信息。
在一个实施例中,主节点和至少一个工作节点位于同一个局域网内。
本实施例中,通过将主节点和至少一个工作节点设置在同一个局域网内,能够保证远程同步过程的稳定性,避免由于网络问题造成远程同步失败。
在一个实施例中,上述步骤S13之后,方法还包括:
在任一摄像头的线程获取到图片帧时,开始进行采集后同步,当所有摄像头的线程都获取到图片帧时,确定采集后同步完成。
具体地,工作节点在任一摄像头的线程获取到图片帧时,开始进行采集后同步,在每当一个摄像头的线程获取到图片帧后,对第三全局计数器加一,将第三全局计数器的计数与所有摄像头的数量进行比较,若相等,则确定所有摄像头的线程都获取到图片帧,即表示采集后同步完成。
其中,工作节点预先设置有第三全局计数器,第三全局计数器在采集后同步前被初始化为零,并在所有摄像头采集后同步完成后被清零。
需要说明的是,当采集后同步完成之后,返回至步骤S11以执行下次的多摄像头同步的过程。
本实施例中,通过采集前同步,即读取摄像头前同步一次,能够保证读取的摄像头数据是同一时刻的,而通过采集后同步,即读取摄像头后同步一次,能够确保所有摄像头的SDK读取到的一组图片帧是完整的,从而能够有利于后续对整组图片帧进行拼接组合,便于准确地对摄像头监控区域内的可移动对象(例如人员)进行检测或跟踪。
在一个实施例中,方法还包括:
任一工作节点在确定采集后同步完成时,将所连接的所有摄像头的线程所获取到的图片帧全部存储到数据处理模块的内存中。
其中,数据处理模块用于对整组图片帧进行拼接组合,数据处理模块可以设置在工作节点中,也可以设置预设的服务器上,本发明实施例对此不作限定。
在一个实施例中,提供了一种用于多摄像头同步的分布式系统,如图3所示,该系统包括主节点31和至少一个工作节点32,每个工作节点32均连接有若干摄像头,其中,为便于理解,在图3中仅示出一个工作节点32。
任一工作节点32包括:
采集前同步单元321,用于在任一摄像头进入准备完成状态时,开始对摄像头进行采集前同步,其中,每个摄像头均被工作节点预先分配了独立的线程;
线程阻塞单元322,用于每当一个摄像头的采集前同步完成时,阻塞摄像头的线程;
远程同步请求单元323,用于在所有摄像头的采集前同步完成后,向主节点发起远程同步请求,并接收主节点广播的远程同步完成信息;
线程唤醒单元324,用于在接收到主节点广播的远程同步完成信息时,唤醒被阻塞的每个摄像头的线程同时分别调用每个摄像头的SDK以获取图片帧;
主节点31,用于接收任一工作节点发起的远程同步请求,并向所有工作节点32广播远程同步完成信息。
在一个实施例中,采集前同步单元321具体用于:
在每接收到完成初始化的一个摄像头发出的准备完成信号时,对第一全局计数器加一,并阻塞摄像头的线程;
将第一全局计数器的计数与所有摄像头的数量进行比较,若相等,则确定采集前同步完成。
在一个实施例中,主节点31具体用于:
在接收到远程同步请求时,判断是否达到远程同步条件,若达到,则生成远程同步完成信息,并广播至所有工作节点。
在一个实施例中,主节点31体用于:
在每接收到一个工作节点发起的远程同步请求时,对第二全局计数器加一;
将第二全局计数器的计数与所有工作节点的数量进行比较,若相等,则生成远程同步完成信息。
在一个实施例中,任一工作节点32还包括:
采集后同步单元325,用于在任一摄像头的线程获取到图片帧时,开始进行采集后同步,当所有摄像头的线程都获取到图片帧时,确定采集后同步完成。
在一个实施例中,任一工作节点32还包括:
图片帧存储模块326,用于在确定采集后同步完成时,将工作节点连接的所有摄像头的线程所获取到的图片帧全部存储到数据处理模块的内存中。
在一个实施例中,主节点31和至少一个工作节点32位于同一个局域网内。
本发明实施例提供的用于多摄像头同步的分布式系统,与本发明实施例所提供的多摄像头同步方法属于同一发明构思,可执行本发明实施例所提供的多摄像头同步方法,具备执行多摄像头同步方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例提供的多摄像头同步方法,此处不再加以赘述。
本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例中是参照根据本发明实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种多摄像头同步方法,其特征在于,应用于分布式系统,所述系统包括主节点和至少一个工作节点,每个所述工作节点均连接有若干摄像头,所述方法包括:
由任一所述工作节点针对所连接的所有摄像头执行如下操作:
在任一所述摄像头进入准备完成状态时,开始对所述摄像头进行采集前同步,其中,每个所述摄像头均被所述工作节点预先分配了独立的线程;
每当一个所述摄像头的采集前同步完成时,阻塞所述摄像头的线程,直至所有所述摄像头的采集前同步完成后,向所述主节点发起远程同步请求;
在接收到所述主节点广播的远程同步完成信息时,唤醒被阻塞的每个所述摄像头的线程同时分别调用每个所述摄像头的SDK以获取图片帧。
2.根据权利要求1所述的方法,其特征在于,所述每当一个所述摄像头的采集前同步完成时,阻塞所述摄像头的线程,直至所有所述摄像头的采集前同步完成,包括:
所述工作节点在每接收到完成初始化的一个所述摄像头发出的准备完成信号时,对第一全局计数器加一,并阻塞所述摄像头的线程;
将所述第一全局计数器的计数与所有所述摄像头的数量进行比较,若相等,则确定所有所述摄像头的采集前同步完成。
3.根据权利要求1所述的方法,其特征在于,所述向所述主节点发起远程同步请求步骤之后,所述方法还包括:
所述主节点在接收到所述远程同步请求时,判断是否达到远程同步条件,若达到,则生成所述远程同步完成信息,并广播至所有所述工作节点。
4.根据权利要求3所述的方法,其特征在于,所述主节点在接收到所述远程同步请求时,判断是否达到远程同步条件,包括:
所述主节点在每接收到一个所述工作节点发起的远程同步请求时,对第二全局计数器加一;
将所述第二全局计数器的计数与所有所述工作节点的数量进行比较,若相等,则生成所述远程同步完成信息。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
在任一所述摄像头的线程获取到图片帧时,开始进行采集后同步,当所有所述摄像头的线程都获取到图片帧时,确定所述采集后同步完成。
6.一种用于多摄像头同步的分布式系统,其特征在于,所述系统包括主节点和至少一个工作节点,每个所述工作节点均连接有若干摄像头;
任一所述工作节点包括:
采集前同步单元,用于在任一所述摄像头进入准备完成状态时,开始对所述摄像头进行采集前同步,其中,每个所述摄像头均被所述工作节点预先分配了独立的线程;
线程阻塞单元,用于每当一个所述摄像头的采集前同步完成时,阻塞所述摄像头的线程;
远程同步请求单元,用于在所有所述摄像头的采集前同步完成后,向所述主节点发起远程同步请求,并接收所述主节点广播的远程同步完成信息;
线程唤醒单元,用于在接收到所述主节点广播的远程同步完成信息时,唤醒被阻塞的每个所述摄像头的线程同时分别调用每个所述摄像头的SDK以获取图片帧;
所述主节点,用于接收任一所述工作节点发起的远程同步请求,并向所有所述工作节点广播所述远程同步完成信息。
7.根据权利要求6所述的系统,其特征在于,所述采集前同步单元具体用于:
在每接收到完成初始化的一个所述摄像头发出的准备完成信号时,对第一全局计数器加一,并阻塞所述摄像头的线程;
将所述第一全局计数器的计数与所有所述摄像头的数量进行比较,若相等,则确定所述采集前同步完成。
8.根据权利要求6所述的系统,其特征在于,所述主节点具体用于:
在接收到所述远程同步请求时,判断是否达到远程同步条件,若达到,则生成所述远程同步完成信息,并广播至所有所述工作节点。
9.根据权利要求8所述的系统,其特征在于,所述主节点具体用于:
在每接收到一个所述工作节点发起的远程同步请求时,对第二全局计数器加一;
将所述第二全局计数器的计数与所有所述工作节点的数量进行比较,若相等,则生成所述远程同步完成信息。
10.根据权利要求6至9任一所述的系统,其特征在于,任一所述工作节点还包括:
采集后同步单元,用于在任一所述摄像头的线程获取到图片帧时,开始进行采集后同步,当所有所述摄像头的线程都获取到图片帧时,确定所述采集后同步完成。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910827268.5A CN110611746B (zh) | 2019-09-03 | 2019-09-03 | 一种多摄像头同步方法及分布式系统 |
PCT/CN2020/097860 WO2021042825A1 (zh) | 2019-09-03 | 2020-06-24 | 一种多摄像头同步方法及分布式系统 |
CA3153390A CA3153390C (en) | 2019-09-03 | 2020-06-24 | Multi-camera synchronization method and distributed system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910827268.5A CN110611746B (zh) | 2019-09-03 | 2019-09-03 | 一种多摄像头同步方法及分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110611746A true CN110611746A (zh) | 2019-12-24 |
CN110611746B CN110611746B (zh) | 2021-06-29 |
Family
ID=68891096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910827268.5A Active CN110611746B (zh) | 2019-09-03 | 2019-09-03 | 一种多摄像头同步方法及分布式系统 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110611746B (zh) |
CA (1) | CA3153390C (zh) |
WO (1) | WO2021042825A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787286A (zh) * | 2020-07-22 | 2020-10-16 | 杭州当虹科技股份有限公司 | 一种实现多通道同步录制系统的方法 |
WO2021042825A1 (zh) * | 2019-09-03 | 2021-03-11 | 苏宁云计算有限公司 | 一种多摄像头同步方法及分布式系统 |
CN112839205A (zh) * | 2021-01-11 | 2021-05-25 | 四川泓宝润业工程技术有限公司 | 一种多路视频传输处理方案 |
CN113034677A (zh) * | 2021-03-31 | 2021-06-25 | 深圳鱼亮科技有限公司 | 一种基于多摄像头阵列的三维成像方法 |
CN113109339A (zh) * | 2021-04-08 | 2021-07-13 | 仲恺农业工程学院 | 一种缺陷视觉检测设备的控制方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873200B (zh) * | 2021-09-26 | 2024-02-02 | 珠海研果科技有限公司 | 一种图像标识方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140205259A1 (en) * | 2013-01-24 | 2014-07-24 | Kiran Kamity | Screen recording for creating contents in mobile devices |
CN104933730A (zh) * | 2014-03-19 | 2015-09-23 | 通用汽车环球科技运作有限责任公司 | 使用半穷举搜索的多视图人检测 |
CN105700939A (zh) * | 2016-04-21 | 2016-06-22 | 北京京东尚科信息技术有限公司 | 一种分布式系统中多线程同步的方法和系统 |
CN106776018A (zh) * | 2016-12-01 | 2017-05-31 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
CN107241553A (zh) * | 2017-08-04 | 2017-10-10 | 追光人动画设计(北京)有限公司 | 多路相机同步采集系统及方法 |
CN107391106A (zh) * | 2017-06-09 | 2017-11-24 | 深圳市金立通信设备有限公司 | 相机参数的初始化方法及终端 |
CN108073414A (zh) * | 2016-11-15 | 2018-05-25 | 北京亿阳信通科技有限公司 | 一种基于Jedis的将多线程并发请求合并批量提交并分发结果的实现方法 |
CN108881667A (zh) * | 2018-08-01 | 2018-11-23 | 广州南方卫星导航仪器有限公司 | 一种多视角影像采集装置 |
CN109471872A (zh) * | 2017-08-30 | 2019-03-15 | 北京国双科技有限公司 | 处理高并发查询请求的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012048173A2 (en) * | 2010-10-07 | 2012-04-12 | Siemens Corporation | Multi-sensor system for high performance and reconfigurable outdoor surveillance |
CN105893120B (zh) * | 2016-04-21 | 2019-07-30 | 北京京东尚科信息技术有限公司 | 一种线程同步资源的获取方法和装置 |
CN109640056B (zh) * | 2018-12-27 | 2021-05-18 | 深圳市有方科技股份有限公司 | 一种基于Android平台的USB摄像头监控系统及其方法 |
CN110611746B (zh) * | 2019-09-03 | 2021-06-29 | 深圳市云网万店电子商务有限公司 | 一种多摄像头同步方法及分布式系统 |
-
2019
- 2019-09-03 CN CN201910827268.5A patent/CN110611746B/zh active Active
-
2020
- 2020-06-24 WO PCT/CN2020/097860 patent/WO2021042825A1/zh active Application Filing
- 2020-06-24 CA CA3153390A patent/CA3153390C/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140205259A1 (en) * | 2013-01-24 | 2014-07-24 | Kiran Kamity | Screen recording for creating contents in mobile devices |
CN104933730A (zh) * | 2014-03-19 | 2015-09-23 | 通用汽车环球科技运作有限责任公司 | 使用半穷举搜索的多视图人检测 |
CN105700939A (zh) * | 2016-04-21 | 2016-06-22 | 北京京东尚科信息技术有限公司 | 一种分布式系统中多线程同步的方法和系统 |
CN108073414A (zh) * | 2016-11-15 | 2018-05-25 | 北京亿阳信通科技有限公司 | 一种基于Jedis的将多线程并发请求合并批量提交并分发结果的实现方法 |
CN106776018A (zh) * | 2016-12-01 | 2017-05-31 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN107133092A (zh) * | 2017-05-24 | 2017-09-05 | 努比亚技术有限公司 | 多线程同步处理方法、终端及计算机可读存储介质 |
CN107391106A (zh) * | 2017-06-09 | 2017-11-24 | 深圳市金立通信设备有限公司 | 相机参数的初始化方法及终端 |
CN107241553A (zh) * | 2017-08-04 | 2017-10-10 | 追光人动画设计(北京)有限公司 | 多路相机同步采集系统及方法 |
CN109471872A (zh) * | 2017-08-30 | 2019-03-15 | 北京国双科技有限公司 | 处理高并发查询请求的方法及装置 |
CN108881667A (zh) * | 2018-08-01 | 2018-11-23 | 广州南方卫星导航仪器有限公司 | 一种多视角影像采集装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021042825A1 (zh) * | 2019-09-03 | 2021-03-11 | 苏宁云计算有限公司 | 一种多摄像头同步方法及分布式系统 |
CN111787286A (zh) * | 2020-07-22 | 2020-10-16 | 杭州当虹科技股份有限公司 | 一种实现多通道同步录制系统的方法 |
CN112839205A (zh) * | 2021-01-11 | 2021-05-25 | 四川泓宝润业工程技术有限公司 | 一种多路视频传输处理方案 |
CN113034677A (zh) * | 2021-03-31 | 2021-06-25 | 深圳鱼亮科技有限公司 | 一种基于多摄像头阵列的三维成像方法 |
CN113109339A (zh) * | 2021-04-08 | 2021-07-13 | 仲恺农业工程学院 | 一种缺陷视觉检测设备的控制方法 |
CN113109339B (zh) * | 2021-04-08 | 2022-05-27 | 仲恺农业工程学院 | 一种缺陷视觉检测设备的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021042825A1 (zh) | 2021-03-11 |
CA3153390A1 (en) | 2021-03-11 |
CA3153390C (en) | 2023-09-12 |
CN110611746B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110611746B (zh) | 一种多摄像头同步方法及分布式系统 | |
CN108629791B (zh) | 行人跟踪方法和装置及跨摄像头行人跟踪方法和装置 | |
US10108851B2 (en) | Face recognition in an enterprise video conference | |
CN105554372B (zh) | 一种拍摄方法以及装置 | |
US20160210516A1 (en) | Method and apparatus for providing multi-video summary | |
CN109960969B (zh) | 移动路线生成的方法、装置及系统 | |
Ansari et al. | Wireless software synchronization of multiple distributed cameras | |
KR20190118548A (ko) | 화상 센서, 및 제어 시스템 | |
CN110245268A (zh) | 一种路线确定、展示的方法及装置 | |
CN107948515A (zh) | 一种相机同步方法及装置、双目相机 | |
CN111107248B (zh) | 一种多路视频采集的同步系统、方法和采集控制器 | |
CN110505466A (zh) | 图像处理方法、装置、电子设备、存储介质和系统 | |
CN111698530A (zh) | 视频传输方法、装置、设备及计算机可读存储介质 | |
WO2020125643A1 (zh) | 帧同步方法及其装置 | |
WO2009137029A1 (en) | Apparatus and methods for multi-sensor synchronization | |
CN104427242B (zh) | 图像拼接方法、装置及电子设备 | |
RU2632272C1 (ru) | Способ создания синтетического изображения | |
CN114598786A (zh) | 多摄像头的帧同步控制方法及自行走设备 | |
CN105467741B (zh) | 一种全景拍照方法及终端 | |
CN104038668B (zh) | 一种全景视频显示方法及系统 | |
US20170126951A1 (en) | Updating an exposure table of an image sensor | |
KR101840039B1 (ko) | 영상 분석을 통한 동영상 촬영 시간 동기화 방법 및 장치 | |
CN112351201B (zh) | 多媒体数据处理方法、系统、装置、电子设备和存储介质 | |
WO2019061020A1 (zh) | 图像生成方法、图像生成装置和机器可读存储介质 | |
CN111669614A (zh) | 一种视频拍摄方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210526 Address after: 518020 unit 3510-131, Luohu business center, 2028 Shennan East Road, Chengdong community, Dongmen street, Luohu District, Shenzhen City, Guangdong Province Applicant after: Shenzhen yunwangwandian e-commerce Co.,Ltd. Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000 Applicant before: Suning Cloud Computing Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |