CN114071069A - 球机控制方法、装置及设备 - Google Patents
球机控制方法、装置及设备 Download PDFInfo
- Publication number
- CN114071069A CN114071069A CN202010760555.1A CN202010760555A CN114071069A CN 114071069 A CN114071069 A CN 114071069A CN 202010760555 A CN202010760555 A CN 202010760555A CN 114071069 A CN114071069 A CN 114071069A
- Authority
- CN
- China
- Prior art keywords
- ball machine
- target object
- instruction
- image
- control
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/61—Control of cameras or camera modules based on recognised objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/695—Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
一种球机控制方法,应用于处理设备,该方法包括:确定待跟踪的目标对象后,周期性向球机发送控制指令,通过控制指令控制球机中云台内的步进电机带动云台上安装的摄像机转动至目标对象所在的监控区域,从而,处理设备基于从球机所接收的图像跟踪目标对象。通过预设发送控制指令的周期,处理设备周期性向具有可转动、可变倍率的球机发送控制指令,有效的克服了目前在控制球机的摄像机转动时由于云台的响应往往会明显滞后于实际画面中目标对象位置的变化,导致球机转动不够平滑稳定的缺点,使得球机的转动过程不再卡顿,实现对目标对象平滑稳定的跟踪,从而提升球机的使用体验。
Description
技术领域
本申请涉及控制技术领域,尤其涉及一种球机控制方法、装置及设备。
背景技术
球机是一种智能安防视频监控领域常用的设备,包括摄像机和用于支撑摄像机的云台,云台内的步进电机带动云台上安装的摄像机转动,实现拍摄画面的变化。由于球机中的摄像机可以转动、可以变倍率的特点,被广泛的应用于安防监控中的目标跟踪场景。
目前,球机在进行跟踪目标对象时,通常基于所采集的图像先确定目标对象所在的方形框,然后根据方形框的中心点和该图像中心点之间的像素偏差计算球机的角度偏差,进而由云台带动该球机中的摄像机转动。但是,由于上述控制过程是确定角度偏差则发送指令控制云台转动,而具体实施过程中,云台的响应往往会明显滞后于实际画面中目标对象位置的变化,球机转动、倍率的变化会导致摄像机抖动从而导致采集图像模糊或滞后的问题,无法平滑稳定的控制球机转动和采集图像,影响监控质量。因此,如何提供一种平滑稳定的球机控制方法成为亟待解决的技术问题。
发明内容
本公开提供了一种球机控制方法、装置及设备,使得球机能够实现对目标对象平滑稳定的跟踪,提升球机的使用体验。
第一方面,提供了一种球机控制方法,该方法应用于处理设备。该方法可以包括:处理设备确定待跟踪的目标对象后,周期性向球机发送控制指令,通过控制指令控制球机中云台内的步进电机带动云台上安装的摄像机转动至目标对象所在的监控区域,从而,处理设备可以基于从球机所接收的图像跟踪目标对象。这样,考虑到云台的响应往往会明显滞后于实际画面中目标对象位置的变化,球机转动、倍率的变化会导致摄像机抖动从而导致采集图像模糊或滞后的问题,该方法通过预设发送控制指令的周期,处理设备周期性向具有可转动、可变倍率的球机发送控制指令,有效的克服了目前在控制球机的摄像机转动时不够平滑稳定的缺点,使得球机的转动过程不再卡顿,实现对目标对象平滑稳定的跟踪,从而提升球机的使用体验。其中,考虑到球机中如果积压有未执行的控制指令,会导致步进电机总是无法按照目标对象在球机画面中的实际情况及时有效的作出跟踪调整,为了克服这个问题,该方法中,处理设备中预设的向球机发送控制指令的周期大于步进电机的激励响应时延,这样,能够保证球机中不积压未执行的控制指令,使得步进电机能够按照目标对象在球机画面中的实际情况及时有效的对目标对象进行跟踪。
在一种可能的实现方式中,在所述周期性向球机发送控制指令之前,该方法还可以包括:根据图像中目标对象的跟踪结果确定控制指令,该跟踪结果包括正常状态和异常状态。这样,能够有效的根据实际的跟踪结果生成对应的控制指令,为周期性向球机发送控制指令提供了可靠的数据基础,使得对目标对象的高质量跟踪成为了可能。
在另一种可能的实现方式中,当目标对象的跟踪结果为正常状态时,向球机发送的控制指令具体为第一控制指令,该第一控制指令用于指示球机继续跟踪目标对象。其中,该第一控制指令为移动指令。该示例下,周期性向球机发送控制指令,具体可以是指向球机发送同一周期中最新生成的第一控制指令。例如,假设到达周期1时,处理设备中没有未发送的控制指令,且该周期1期间球机一直处于正常状态1,按照时间的先后顺序依次生成移动指令1、移动指令2和移动指令3,那么,当从周期1进入下一个周期2的时刻,处理设备向球机发送最新生成的移动指令3,移动指令1和移动指令2可以被处理设备丢弃。
在另一种可能的实现方式中,当目标对象的跟踪结果为异常状态时,向球机发送的控制指令具体为第二控制指令,该第二指令用于指示球机在异常状态时执行对球机的控制。其中,第二控制指令包括下述指令中的至少一个:停止指令、降低倍率指令或返回预置点指令。该示例下,如果处理设备通过指令队列保存控制指令,周期性向球机发送控制指令具体可以是指向球机发送指令队列中保存的最早生成的第二控制指令。例如,假设到达周期3时,处理设备中没有未发送的控制指令,且该周期3期间球机一直处于异常状态,按照时间的先后顺序依次生成停止指令1、停止指令2和降低倍率指令1,那么,指令队列中包括停止指令1、停止指令2和降低倍率指令1。当从周期3进入下一个周期4的时刻,处理设备向球机发送最早生成的停止指令1,指令队列中包括停止指令2和降低倍率指令1;当从周期4进入下一个周期5的时刻,处理设备向球机发送停止指令1之后生成的停止指令2,指令队列中包括降低倍率指令1;当从周期5进入下一个周期6的时刻,处理设备向球机发送停止指令2之后生成的降低倍率指令1。
在另一种可能的实现方式中,对于目标对象的跟踪结果为正常状态的情况,根据图像中目标对象的跟踪结果确定控制指令,具体可以是指:按照预设规则确定第一控制指令,其中,第一控制指令可以包括第一方向上的第一调整速度、第二方向上的第二调整速度和目标倍率调整速度。
在另一种可能的实现方式中,预设规则可以包括根据球机中摄像机的倍率和比例积分微分(proportional integral derivative,PID)参数组确定第一控制指令。具体而言,处理设备中包括倍率和PID参数组的多组对应关系,根据球机中摄像机的倍率和PID参数组确定所述第一控制指令的过程可以包括:根据球机中摄像机当前的倍率,确定该倍率对应的PID参数组;接着,根据PID参数组,确定第一调整速度和第二调整速度;基于第一调整速度和第二调整速度确定第一控制指令。其中,根据PID参数组确定第一调整速度和第二调整速度,例如可以包括:根据PID参数和第一方向(如x方向)上的第一偏差,确定第一调整速度,该第一偏差为图像的中心点和图像中目标对象所在区域的中心点之间在第一方向上的距离;根据PID参数和第二方向(如y方向)上的第二偏差,确定第二调整速度,该第二偏差为图像的中心点和图像中目标对象所在区域的中心点之间在第二方向上的距离。需要说明的是,图像中目标对象所在的区域是指图像中能够完全将目标对象包括在内的区域,例如,完全包括目标对象的矩形区域(也称为方形框)。这样,处理设备中预设有倍率和PID参数组之间的对应关系,当需要计算转动步进电机的调整速度时,可以直接根据球机中摄像机的当前倍率,确定出对应的PID参数组,计算得到适合当前倍率的步进电机的调整速度,从而使得生成的第一控制指令能够更加有效的被用于对目标对象的跟踪控制。
需要说明的是,在根据PID参数和第一方向上的第一偏差确定第一调整速度之前,该方法还可以包括:如果第一偏差小于预设的第一偏差阈值,则,将第一偏差置零;并且,在根据PID参数和第二方向上的第二偏差确定第二调整速度之前,该方法还可以包括:如果第二偏差小于预设的第二偏差阈值,则,将第二偏差置零。其中,第一偏差阈值和第二偏差阈值基于该图像预设的中心区域确定。如此,通过判断目标对象是否在图像的中心区域,如果目标对象位于图像的中心或目标对象距离图像的中心不远的情况,将对应方向上的偏差置零,使得PID计算后在对应方向上输出更加精确的步进电机的调整速度,避免在调整范围较小且效果不明显的情况下,由于PID计算中输入数值太小导致PID发生震荡,使得步进电机出现抖动现象。
需要说明的是,在得到第一调整速度和第二调整速度后,生成第一控制指令之前,还可以进行死区判断,具体为:判断第一调整速度是否位于死区范围内,如果是,则,将第一调整速度置零;判断第二调整速度是否位于死区范围内,如果是,则,将第二调整速度置零。其中,死区范围根据步进电机的调整精度确定,例如,步进电机的最小转动档位为0.1,那么,死区范围可以是-0.1-0.1。这样,有效的避免PID计算出的步进电机的调整速度小于步进电机的最小转动档位,导致步进电机转动过头,使得步进电机的转动过程发生来回晃动、无法稳定的现象,使得球机能够平滑、稳定的跟踪目标对象。
在另一种可能的实现方式中,预设规则还可以包括根据目标对象在预设方向上占图像的比例确定第一控制指令。具体而言,根据目标对象在预设方向上占图像的比例确定第一控制指令的过程可以包括:获取在预设方向上目标对象占图像的比例;接着,根据比例和预设比例阈值,确定目标倍率调整速度,该目标倍率调整速度为预设倍率调整速度或预设倍率调整速度的相反数;那么,即可根据目标倍率调整速度确定第一控制指令。例如,假设预设倍率调整指令大于零,当比例小于预设的第一比例阈值时,则,确定预设倍率调整速度本身为目标倍率调整速度,以控制摄像机按照目标倍率调整速度增大摄像机的倍率;当比例大于预设的第二比例阈值时,确定预设倍率调整速度的相反数为目标倍率调整速度,以控制摄像机按照目标倍率调整速度减小摄像机的倍率,其中,第二比例阈值大于第一比例阈值。需要说明的是,预设方向可以基于目标对象的不同确定,例如,当目标对象是细长的形态(如人物),则,确定以目标对象在图像中的高度作为预设方向;又例如,当目标对象是矮宽的形态(如车辆),则,确定以目标对象在图像中的宽度作为预设方向。这样,通过合理的预设倍率调整速度,按照该预设倍率调整速度或其相反数调整摄像机的倍率,避免由于倍率调整速度过快导致球机在变化倍率的时采集的图像模糊不清,从而严重影响对目标对象的跟踪的问题,提高了摄像机的监控质量。
在另一种可能的实现方式中,对于目标对象的跟踪结果为异常状态的情况,根据图像中目标对象的跟踪结果确定控制指令,具体可以是指:按照预设规则确定第二控制指令,该预设规则可以包括根据异常状态的类型确定第二控制指令。其中,异常状态的类型可以包括但不限于:第一异常状态、第二异常状态、第三异常状态和第四异常状态。
在另一种可能的实现方式中,当球机处于正常状态且采集到的图像中不包括目标对象时,确定球机进入第一异常状态(也可以称为可能丢失状态),并指示云台中的步进电机停止工作。即,当向球机发送控制指令的一个周期内,球机从正常状态变为第一异常状态时,向云台发送的控制指令例如可以是第一停止指令。
在另一种可能的实现方式中,当球机处于第一异常状态且在第一预设时间采集的多帧图像中均不包括所述目标对象时,确定球机进入第二异常状态(也可以称为确定丢失状态),并指示摄像机降低倍率,以扩大监控范围。即,当向球机发送控制指令的一个周期内,球机从第一异常状态变为第二异常状态时,如果还有待发送的第三停止指令,则,向云台发送的控制指令为第三停止指令;如果没有待发送的第三停止指令,则,向云台发送的控制指令为第一降低倍率指令。
在另一种可能的实现方式中,当球机处于第四异常状态且球机在第三预设时间内采集的图像中不包括目标对象,确定球机进入所述第二异常状态,并指示摄像机降低倍率,以扩大监控范围。即,当向球机发送控制指令的一个周期内,球机从第四异常状态变为第二异常状态时,如果还有待发送的第六停止指令,则,向云台发送的控制指令为第六停止指令;如果没有待发送的第六停止指令,则,向云台发送的控制指令为第四降低倍率指令。
在另一种可能的实现方式中,当球机处于第二异常状态且在第二预设时间采集的多帧图像中均不包括目标对象时,确定所述球机进入第三异常状态(也可以称为空闲状态),并指示步进电机驱动摄像机返回预置点,退出对目标对象的跟踪。即,当向球机发送控制指令的一个周期内,球机从第二异常状态变为第三异常状态时,如果还有待发送的第二降低倍率指令,则,向云台发送的控制指令为第二降低倍率指令;如果没有待发送的第二降低倍率指令,则,向云台发送的控制指令为第一返回预置点指令。
在另一种可能的实现方式中,当球机处于所述第二异常状态且采集到的图像中包括目标对象时,确定球机进入第四异常状态(也可以称为可能找回状态),并指示云台中的步进电机停止工作。即,当向球机发送所述第二控制指令的一个周期内,球机从第二异常状态变为第四异常状态时,如果还有待发送的第三降低倍率指令,则,向云台发送的控制指令为第三降低倍率指令;如果没有待发送的第三降低倍率指令,则,向云台发送的控制指令为第四停止指令。
在另一种可能的实现方式中,当球机处于所述第四异常状态且球机在第三预设时间采集的多帧图像中均包括目标对象,确定球机进入正常状态。即,当向球机发送所述控制指令的一个周期内,球机从第四异常状态变为正常状态时,如果还有待发送的第五停止指令,则,向云台发送的控制指令为第五停止指令;如果没有待发送的第五停止指令,则,向云台发送的控制指令为最新生成的移动指令。
在另一种可能的实现方式中,当球机处于第一异常状态且球机在第一预设时间内采集的图像中包括目标对象,确定球机进入正常状态。即,当向球机发送控制指令的一个周期内,球机从第一异常状态变为正常状态时,如果还有待发送的第二停止指令,则,向云台发送的控制指令为第二停止指令;如果没有待发送的第二停止指令,则,向云台发送的控制指令为第一移动指令。
可见,通过在处理设备中预设细分的状态流转逻辑,实现更加高效和有序的球机控制,使得球机能够高质量的完成对目标对象的跟踪。
在另一种可能的实现方式中,该方法还可以包括:当所述球机已经获取到目标对象的关键信息时,确定球机进入第五异常状态,并指示步进电机驱动摄像机返回预置点,退出对目标对象的跟踪。其中,关键信息可以是用于指示目标对象的标识信息,如:目标人物的正脸图像,又如:目标车辆的车牌图像。这样,处理设备即可将包括目标人物的关键信息的图像发送给中心设备,以便中心设备对图像中目标人物的关键信息进行分析和汇总,使得对目标对象的跟踪实现更加重要的价值。
在另一种可能的实现方式中,也可以通过指令队列保存处理设备生成的指令。具体实现时,周期性向球机发送控制指令例如可以包括:第一时刻,向云台发送第一指令队列中的第一控制指令;第二时刻,向云台发送第二指令队列中的第二控制指令。其中,第一时刻到第二时刻所经历的时间为球机发送控制指令的一个周期,在第一时刻发送的控制指令为第一控制指令,在第二时刻发送的控制指令为第二控制指令;如果截止第一时刻生成的所有控制指令中仅包括移动指令,则,第一指令队列中仅包括的第一控制指令,该第一控制指令为第一时刻之前最新生成的移动指令;如果截止第一时刻生成的所有控制指令中包括停止指令、降低倍率指令或返回预置点指令中的至少一个,则,第一指令队列中按照生成顺序依次包括截止第一时刻生成的所有停止指令、降低倍率指令或返回预置点指令,第一指令队列不包括移动指令,第一控制指令为第一指令队列中生成时刻距离第一时刻的时间最长的指令。作为一个示例,如果第一控制指令为第一移动指令,在第一时刻和第二时刻之间,该方法还可以包括:第三时刻,生成第五停止指令,并将第五停止指令覆盖第一指令队列中的第一移动指令,获得更新后的第一指令队列,更新后的第一指令队列包括第一停止指令;第四时刻,生成第二移动指令,根据更新后的第一指令队列将第二移动指令丢弃;第五时刻,生成第二返回预置点指令,并将第二返回预置点指令添加到更新后的第一指令队列的第五停止指令之后,获得第二指令队列,该第二指令队列包括第五停止指令和第二返回预置点指令。那么,该示例下,向云台发送第二指令队列中的第二控制指令,包括:向云台发送第五停止指令,以控制云台中的步进电机停止工作。之后,在第二时刻之后,该方法还可以包括:第六时刻,向云台发送第二返回预置点指令,以控制云台中的步进电机驱动球机返回预置点,其中,第二时刻到第六时刻所经历的时间为一个周期。可见,通过指令队列的形式保存待发送给球机的控制指令,能够确保有序的向球机发送控制指令从而有效的对球机进行控制。
第二方面,本申请提供一种球机控制装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的球机控制方法的各个模块。
第三方面,还提供了一种球机控制的设备,该球机控制设备包括处理器和存储器。其中,存储器,用于存储计算机指令;所述处理器,用于根据计算机指令执行如上第一方面或第一方面任一种可能实现方式中的球机控制方法的操作步骤。
第四方面,还提供了一种监控***,该监控***包括第一设备、第二设备和处理设备,处理设备分别和所述第一设备、所述第二设备通信。其中,第一设备,用于获取固定监控范围内的图像,并将包括目标对象的第一图像发送给处理设备;处理设备,用于基于第一图像,执行上述第一方面或第一方面任一种可能实现方式中的球机控制方法的操作步骤,向第二设备发送控制指令;第二设备,用于基于处理设备发送的控制指令,完成对目标对象的跟踪。
其中,第二设备为球机。第一设备可以是枪机。
在一种可能的实现方式中,该监控***还可以包括中心设备,处理设备,还用于获取目标对象的关键信息,并将关键信息发送给所述中心设备;中心设备,用于对关键信息进行分析和处理。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法的操作步骤。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本实施例提供的一种适用球机控制的监控***10的逻辑架构示意图;
图2为本实施例提供的一种监控***10对目标人物的监控过程的示意图;
图3为本实施例提供的一种球机控制方法的流程交互图;
图4为本实施例提供的一种球机状态流转示意图;
图5为本实施例提供的一种保存控制指令的指令队列的示意图;
图6为本实施例提供的一种中心区域判断的示意图;
图7为本实施例提供的一种基于PID计算移动速度的流程示意图;
图8为本实施例提供的一种球机控制装置的结构示意图;
图9为本实施例提供的一种球机控制设备的结构示意图。
具体实施方式
下面将结合附图,对本申请的技术方案进行描述。
图1为本实施例中适用球机控制的监控***10的逻辑架构示意图,如图1所示,该监控***10包括:处理设备100、至少一个枪机200、至少一个球机300和中心设备400。其中,处理设备100能够分别和至少一个枪机200、至少一个球机300、中心设备400进行通信,接收枪机200或球机300采集的图像对应的数据信号,向球机300发送控制信号,实现对至少一个球机300的控制,并且将枪机200或球机300获取到的监控结果发送给中心设备400,由中心设备400对该监控结果进行分析和汇总。其中,监控结果包括目标对象的关键信息,如:目标人物的正脸图像,又如:目标车辆的车牌图像。其中,该处理设备100至少可以包括通信模块110和处理模块120,通信模块110用于实现与其他设备(如枪机200、球机300以及中心设备400)的通信,处理模块120用于根据中心设备400、枪机200和/或球机300发送的信号进行处理,得到适用于球机300的控制信号。枪机200至少可以包括:通信模块210、处理模块220和摄像机230,通信模块210用于实现与其他设备(如处理设备100)的通信;处理模块220用于对摄像机230输出的数据信号进行处理(如解码、解包、压缩、转换等);摄像机230用于采集枪机200对应区域的图像。球机300至少可以包括:通信模块310、处理模块320、摄像机330和云台340,通信模块310用于实现与其他设备(如处理设备100)的通信;处理模块320用于对摄像机330输出的数据信号以及处理设备100发送的控制信号进行处理;云台340用于支撑摄像机330,云台340中的步进电机341的转动能够带动摄像机330转动,摄像机330还具有变倍率的功能,所以,摄像机330用于对不同远近的物体进行不同角度的拍摄。中心设备400用于和多个处理设备100通信,对多个处理设备400发送的监控结果进行分析和汇总,实现对多个处理设备100所覆盖的区域的监控和管理。
处理设备100可以是具有计算能力的设备,例如,可以是至少一个枪机200和至少一个球机300对应的街边柜(也可以称为边缘小站),枪机200是指无法切换监控区域的监控设备,球机300是指可以切换监控区域以及可以改变倍率的监控设备,中心设备400可以是服务器,例如云端服务器。根据实际的部署需求,处理设备100可以对多个临近的监控杆上的监控设备进行控制和管理,也可以对一个监控杆上的部分或全部监控设备进行控制和管理。每个监控杆上可以包括一个枪机200和一个球机300,也可以包括多个枪机200和一个球机300,还可以包括多个枪机200和多个球机300,本申请中不对每个监控杆上包括的枪机200的数量和球机300的数量进行具体限定。
可选地,监控***10中,处理设备100也可以集成在其所管理的任意一个枪机200中或球机300中,例如:处理设备100可以集成在枪机200的处理模块220中或球机300的处理模块320中;又例如:处理设备100可以作为一个独立的模块集成在枪机200中或球机300中,该独立的模块仅用于实现处理设备100的功能,具体实现形式在本申请不作限定。为了方便描述,本申请以处理设备100为与枪机200以及球机300独立的实体设备进行说明。
举例来说:对于监控***10中,假设需要搜索目标人物,该目标人物显著的特征为穿着红色上衣,那么,监控***10对目标人物的监控过程参见图2,可以包括:
S11,中心设备400生成并向其所连接的多个处理设备100发送任务指令,该任务指令中包括目标人物的特征信息,该特征信息用于指示目标人物的特征,例如,特征信息可以指示目标人物穿着红色上衣。
S12,处理设备100将所接收的任务指令进行处理,生成枪机200和球机300能够识别的请求指令,并将请求指令发送给受其控制的至少一个枪机200和至少一个球机300。
S13,处理设备100接收枪机200和球机300采集的图像,并进行目标检测和特征匹配,如果检测到的对象和目标对象匹配成功,则,确定检测到目标对象。
其中,如果先检测到目标对象的图像来自枪机200,则检测过程可以包括:枪机200将目标对象的图像1发送给处理设备100,处理设备100通过目标检测算法在图像1中检测到至少一个对象后,对检测到的对象和目标对象进行特征匹配,将匹配成功的对象作为目标对象;目标对象在图像1中对应的检测框作为方形框1,该方形框1是指从图像1中进行抠图后得到的包括目标对象的图像。该情况下,处理设备100基于方形框1生成并向球机300发送返回预置点指令1,返回预置点指令1用于指示位于初始位置的球机300转向枪机200的监控范围,该返回预置点指令1中可以携带枪机200的标识(即预置点的标识)。
如果先检测到目标对象的图像来自球机300,则检测过程可以包括:球机300将目标对象的图像1’发送给处理设备100,处理设备100通过目标检测算法在图像1’中检测到至少一个对象后,对检测到的对象和目标对象进行特征匹配,将匹配成功的对象作为目标对象;对图像1’进行处理,得到图像1’中包括目标对象对应的方形框1’。该方形框1’是指从图像1中进行抠图后得到的包括目标对象的图像。
需要说明的是,对图像进行抠图,具体可以是以图像中的目标对象的中心为原点,以预设长度为半径得到图像中包括目标对象的圆形区域,或者,也可以是以图像中的目标对象的中心为对角线的交点,得到的包括目标对象的矩形区域(即其他部分提及的方形框)。其中,圆形区域的半径或矩形区域的长宽的设定,需要使得得到的区域完全包括目标对象。为了方便描述,本实施例中以抠图得到方形框为例进行说明。
S14,球机300采集图像2并发送给处理设备100;
S15,处理设备100对图像2和方形框1(或方形框1’)进行匹配,如果匹配完成,则,生成图像2中包括目标对象的方形框2,触发球机300对目标对象进行跟踪。
S16,处理设备100针对球机300采集的每个图像2都执行下述S17~S23,直到接收到处理设备100获取到包括目标人物的关键信息的图像2、运行超时或状态0变为异常状态中的空闲状态,执行下述S25。
S17,处理设备100根据图像2、目标检测算法和预设的跟踪算法,得到跟踪成功与否的状态标志位。当该状态标志位指示跟踪成功时,还可以获得图像2中目标对象对应的方形框2的相关参数,例如方形框2对应的(x,y,w,h),其中,(x,y)为方形框2的中心点在图像2中的坐标值,w和h分别为方形框2的宽和高;
S18,处理设备100根据状态标志位的变化情况,确定当前跟踪该目标对象属于的状态0,状态例如可以包括:正常状态和异常状态,其中,异常状态包括用于指示目标对象跟踪结果的信息。例如,异常状态包括可能丢失状态、确定丢失状态、可能找回状态和空闲状态。
S19,处理设备100判断状态0是否为正常状态,如果是,则执行S20,否则,执行S22;
S20,处理设备100根据球机300预设的倍率和比例积分微分(proportionalintegral derivative,PID)参数的对应关系,确定与当前的倍率1对应的PID参数:KP1、KI1和KD1,并根据下述公式(1)和公式(2)计算x方向上的移动速度Vpan和y方向上的移动速度Vtilt;并且,根据h占图像2总高度的比例,确定预设的倍率调整速度Vzoom的方向;
其中,△x(t)、△y(t)是t时刻采集的图像2的中心点(x0,y0)和方形框2的中心点(x,y)的偏差值。需要说明的是,计算出的Vpan和Vtilt是与步进电机341的固定转动档位对应的连续值,例如:步进电机341的转动速度范围为-1.0~1.0(数值的正负代表步进电机341的转动方向,绝对值代表转动速度),每0.1划分为1个转动档位,那么,步进电机341在两个方向上分别包括10个转动档位,计算出的Vpan和Vtilt的数值范围为-1.0~1.0。如果Vpan=0.17,那么,步进电机341可以按照0.1或0.2的转动档位进行转动。需要说明的是,如果计算的Vpan和Vtilt的数值范围不在-1.0~1.0的范围,则,可以按照最大的转动档位执行,例如:计算得到Vpan=1.2,那么,步进电机341可以按照1.0的转动档位进行转动。
S21,处理设备100生成移动指令1,该移动指令1中包括(Vpan,Vtilt,Vzoom),且包括强制执行标志位,例如,该强制执行标志位的值可以取0,用于指示移动指令1不是强制执行的操作,可以被丢弃或覆盖指令队列中移动指令;
S22,处理设备100基于具体的异常状态,生成停止指令1、降低倍率指令1或返回预置点指令2。停止指令1、降低倍率指令1和返回预置点指令2中均包括强制执行标志位,例如,停止指令1、降低倍率指令1和返回预置点指令2的强制执行标志位的值可以取1,用于指示这些指令是需要强制执行的操作,不能丢弃;
S23,处理设备100周期性的向球机300发送控制指令,以实现对目标对象的跟踪,该周期大于步进电机341的激励响应时延T1;
S24,球机300基于接收到的控制指令,对步进电机341和/或摄像机330进行控制,以跟踪目标对象。
S25,处理设备100生成并向球机300发送返回预置点指令,控制球机300返回初始位置,其中,关键信息包括目标对象的标识信息,例如,当目标对象为目标人物时,关键信息可以包括目标人物的正脸图像;
S26,处理设备100将包括目标人物的关键信息的图像2发送给中心设备300,中心设备300对图像2中目标人物的关键信息进行分析和汇总。
需要说明的是,触发球机300开始跟踪目标对象的方式具体可以包括:
第一种情况,可以是处理设备100从其他监控设备(例如枪机200)发送的图像中检测到目标对象,再由处理设备100触发球机300开始跟踪目标对象;
第二种情况,也可以是处理设备100从球机300自己发送的图像中检测到目标对象,再由处理设备100触发球机300开始跟踪目标对象。
触发球机300跟踪目标对象的方式在本申请中不作具体限定,下文中为了方便描述,以第一种情况的触发方式为例进行说明。
需要说明的是,图1所示的***架构仅仅是为了更好的说明本申请所提供的球机控制方法所提供的***架构的示例,图2所示的监控***对目标人物的监控过程仅仅是为了更好的说明本申请所提供的球机控制方法的整体流程提供的一个场景示例,并不构成对本申请实施例的限定。
基于上述***架构,本申请提供一种球机控制方法,处理设备在获取待跟踪的目标对象的第一图像时,能够根据第一设备和第二设备(即,球机)的预设关联关系,控制第二设备中云台的步进电机工作,以驱动该第二设备转动到第一设备对应的监控区域,这样,第二设备中的摄像机即可采集到包括目标对象的第二图像并发送给处理设备,处理设备能够基于第二设备发来的第二图像,生成对球机的控制指令,并且周期性的向所述云台发送控制指令,以控制所述云台中的步进电机工作,实现对目标对象的跟踪。可见,该方法考虑到球机中的摄像机的转动是通过步进电机的转动而带动的,步进电机存在一定的激励响应时延,球机中摄像机采集图像的过程是离散的这些特点,通过预设发送控制指令的周期,处理设备周期性向具有可转动、可变倍率的球机发送控制指令,有效的克服了目前在控制球机的摄像机转动时不够平滑稳定的缺点,使得球机的转动过程不再卡顿,实现对目标对象平滑稳定的跟踪,从而提升球机的使用体验。
作为一种可能的实施例,被触发跟踪目标对象的球机,其摄像机通常会等时间间隔的采集图像,并将图像发送给处理设备。其中,等时间间隔与摄像机采集图像的频率相关,例如:假设摄像机采集图像的频率为每秒25帧,则,该摄像机采集图像的时间间隔为40毫秒。一种情况下,摄像机每采集一帧图像,就会将该图像发送给处理设备,由处理设备通过目标检测算法、跟踪算法等的算法的处理,生成对应的一个控制指令。另一种情况下,处理设备也可以对摄像机采集的图像进行跳帧处理,如:摄像机每采集一帧图像,就会将该图像发送给处理设备,而处理设备每接收到五帧图像时对第五帧图像进行处理,生成对应的一个控制指令;又如:摄像机每采集五帧图像,将第五帧图像发送给处理设备,处理设备对接收到的每帧图像进行处理,生成对应的一个控制指令。
作为另一种可能的实施例,处理设备周期性的向球机发送控制指令,在一个发送指令的周期内,如果处理设备没有积压的强制执行指令(例如:停止指令、降低倍率指令或返回预置点指令),且该周期内生成均为移动指令,则,只保留最新生成的移动指令,等到发送指令的时刻,将最新生成的移动指令发送给球机的云台,以便球机能够按照目标对象在最新采集的图像中的位置适应性的对球机的摄像机进行调整,实现对目标对象快速有效的跟踪。如果处理设备内有未发送的强制执行指令或该周期内生成了强制执行指令,则,所有的强制执行指令均需要按照生成时间的早晚被保存,而该周期内生成的移动指令均被覆盖或丢弃,等到发送指令的时刻,将积压的最早生成的强制指令发送给球机的云台,以便球机能够按照出现异常的顺序有序的对球机的摄像机进行调整,使得球机对目标对象的跟踪能够尽可能的回归正常状态。需要说明的是,该发送控制指令的周期需要大于步进电机的激励响应时延(即,输入步进电机的激励和该步进电机输出响应之间的时间间隔),与摄像机采集图像的频率无关。
接下来,以图1所示的监控***10为例,结合图3详细介绍本申请所提供的球机控制方法,该方法应用于监控***10中的处理设备100。如图3所示,该方法包括:
S301,获取监控***10中枪机200发送的第一图像,所述第一图像中包括待跟踪的目标对象。
需要说明的是,S301仅是示例性的描述,具体实现时,处理设备100仅需要获取待跟踪的目标对象,从而触发球机300对目标对象进行跟踪。其中,获取目标对象的方式,可以基于监控***中枪机200采集的第一图像中获取,也可以从第一视频中获取,还可以基于用户的手动操作触发,在本实施例中不作具体限定。下文中为了方便描述,以从第一图像中获取目标对象为例进行说明。
其中,枪机200可以指代该监控***10中能够和处理设备100进行通信的任何监控设备。本实施例中考虑到枪机能够清晰的监控较大的范围,所以,选择枪机200和球机300的组合提供智能、全面的监控服务。
具体实现时,当监控***10根据实际需求,需要从监控中调取具有某个或某些特征的目标对象时,该监控***10中的处理设备100能够获取到任务指令,该任务指令中包括目标对象的特征信息。特征信息是指目标对象具有的特征中能够显著和其他对象加以区分的特征,例如:如果目标对象是人,则,目标对象的特征信息可以是该人的衣着特征,如,穿红色上衣;又例如:如果目标对象是车辆,则,目标对象的特征信息可以是该车辆的型号、颜色等特征,如,黑色小型轿车。
作为一个示例,任务指令可以在监控***10的中心设备400上触发生成,并由中心设备400发送给处理设备100的,那么,处理设备100可以将该任务翻译为枪机200和球机300能够识别的请求指令后,将请求指令发送给处理设备100负责控制的枪机200和球机300,请求指令中包括目标对象的特征信息。该示例适用于目标对象可能的活动范围较大或目标对象可能的活动范围不确定的情况,中心设备400能够将任务指令批量的发布到监控***10中部分或全部处理设备100上,以便该监控***10中的海量监控设备能够在监控***10所覆盖的大部分或全部监控区域对目标对象进行搜索和监控,无需在各个处理设备100上进行分别配置和触发,一定程度节约了人力和物力,提高了监控服务的效率。
作为另一个示例,任务指令也可以是监控***10的处理设备100上直接生成的能够被枪机200和球机300识别的请求指令,那么,处理设备100可以将该请求指令发送给处理设备100负责控制的枪机200和球机300,请求指令中包括目标对象的特征信息。该示例适用于目标对象可能的活动范围已经确定的情况,能够在负责该活动范围内监控设备的处理设备100上配置请求指令,以便该对应的监控设备能够快速在较小的覆盖范围内对目标对象进行搜索和监控,无需由中心设备400向对应的处理设备100发布任务请求也无需处理设备100再对任务请求进行处理,节约了监控***10中的网络资源,提高了监控服务的效率。
其中,枪机200向处理设备100发送第一图像后,处理设备100的处理过程可以包括:处理设备100对该第一图像进行目标检测,检测到至少一个对象;处理设备100提取所述至少一个对象的特征信息,并将所述至少一个对象的特征信息和目标对象的特征信息进行匹配,如果匹配成功,则,将该特征信息对应的对象确定为目标对象;接着,将第一图像中能够完全包住目标对象的检测框作为第一图像中包括目标对象的方形框,该方形框可以作为后续进行目标对象跟踪的基础数据。
需要说明的是,S301之后,处理设备100对获取到的第一图像进行抠图处理,得到的包括目标对象的方形框。该方形框是一个图像。
需要说明的是,各接收到请求指令的监控设备(包括枪机200和球机300)均将自身采集的图像发送给处理设备100进行目标检测和特征匹配。
S302,向球机300发送控制指令1,控制指令1用于控制球机300中云台340的步进电机341工作,以驱动球机300转动到枪机200对应的监控区域。
考虑到球机300的摄像机330能够调节拍摄的角度和倍率,适用于处于活动状态的目标对象的跟踪,所以,在处理设备100获得第一图像中包括目标对象的方形框后,处理设备100可以生成并向球机300发送控制指令1,用于控制球机300中云台340的步进电机341工作,通过步进电机341带动摄像头330转动,使得摄像头330面向枪机200对应的监控区域。其中,摄像头330面向枪机200对应的监控区域,可以是指摄像头330的监控区域完全覆盖枪机200的监控范围。
作为一个示例,S302具体可以包括:处理设备100获得第一图像中包括目标对象的方形框后,即可确定目标对象处于枪机200的监控范围内,从而,生成并向球机300发送返回预置点指令1,该返回预置点指令1中包括枪机200的标识,用于指示球机300中云台340的步进电机341转动到该标识对应的枪机200的监控范围内。一种情况下,球机300可以记录枪机200的位置,那么,球机300按照返回预置点指令1转动到该枪机200的位置即停止转动。另一种情况下,球机300中保存有球机300和枪机200的位置关系,那么,球机300根据该返回预置点指令1中枪机200的标识以及本地保存的枪机200和球机300的位置关系,确定球机300转向枪机200的覆盖范围需要转动的转动参数,从而基于转动参数转动转向枪机200的监控区域。
作为另一个示例,S302中也可以基于预设的枪机200和球机300的位置关系使得球机300转动到枪机200的监控区域。例如:处理设备100中可以预设有其负责的所有监控设备之间的位置关系,包括枪机200和球机300的位置关系,那么,S302具体可以包括:处理设备100得到第一图像后,即可确定目标对象处于枪机200的监控范围内,从而,基于枪机200和球机300的位置关系,确定球机300转向枪机200的覆盖范围需要转动的转动参数;接着,处理设备100可以根据所确定的转动参数生成并向球机300发送移动指令1,该移动指令1中包括转动参数,用于指示球机300中云台340的步进电机341按照该转动参数工作;如此,球机300中的云台340对控制指令1进行解析,获取转动参数,并且云台340的步进电机341基于转动参数转动,带动摄像机330转向枪机200的监控范围。
上述转动参数可以是转动的角度和方向,例如:逆时针转动90度;或者,转动参数也可以是转动速度和转动时间,例如:以0.1的转动档位转动9秒。
可见,球机300转动到枪机200对应的监控区域,能够采集到包括目标对象的图像,为实现对目标对象的跟踪,从而获得目标对象的关键信息提供了前提条件。
S303,基于球机300中摄像机330采集的第二图像,周期性的向云台340发送控制指令,该控制指令用于控制云台340中的步进电机341工作,以跟踪目标对象。
应理解,当球机300转向枪机200的监控区域时,该球机300的摄像机330可以拍摄到枪机200的监控区域内的目标对象。此时,处理设备100对球机300发送的首帧第二图像进行目标检测和特征匹配,以确定该第二图像中包括目标对象时,触发该球机300对该目标对象进行跟踪。其中,处理设备100对首帧第二图像进行特征匹配可以是将第二图像和第一图像(即枪机200采集的图像中包括目标对象的方形框)进行匹配。如果球机300开始对目标对象进行跟踪,则,该球机300可以将之后待处理的每帧第二图像发送给处理设备100,由处理设备100执行S303以控制球机300对目标对象的跟踪。
具体实现时,处理设备100中包括完整的球机控制流程,该流程具体可以参见图2对应的S11~S26的相关描述。
需要说明的是,一种情况下,处理设备100中对第二图像进行处理的频率可以与摄像机330采集第二图像的频率一致,例如:摄像机330每40毫秒采集一帧第二图像,并将采集到的第二图像发送给处理设备100,那么,处理设备100每40毫秒对接收的一帧第二图像进行处理。或者,另一种情况下,处理设备100中对第二图像进行处理的频率也可以与摄像机330采集第二图像的频率存在一定的倍数关系,例如:摄像机330每40毫秒采集一帧第二图像,并将采集到的第二图像发送给处理设备100,而处理设备100每200毫秒对最新接收的一帧第二图像进行处理;或者,摄像机330每40毫秒采集一帧第二图像,但每200毫秒将最新采集到的一帧第二图像发送给处理设备100,处理设备100每200毫秒对接收的一帧第二图像进行处理。
需要说明的是,处理设备100中预设发送控制指令2的周期,该周期大于步进电机341的激励响应时延即可。
具体实现时,S303的实现过程包括:S3031,处理设备100根据目标检测算法、跟踪算法对第二图像进行处理,确定第二图像中是否包括目标对象,如果包括,则确定当前处于正常状态,如果不包括,则确定当前处于异常状态;S3032,处理设备100根据当前所处的状态,生成对应的控制指令2;S3033,处理设备100根据预设规则周期性的向球机300发送控制指令2。其中,第二图像中包括目标对象,可以包括第二图像中包括目标对象的方形框的置信度大于预设的置信度阈值,以及第二图像中未完整的检测到第二图像。
本实施例中,为了实现更加高效和有序的球机控制,对于S3031中处理设备100将球机300当前所处的状态细分为初始状态、正常状态、异常状态和空闲状态,其中,异常状态又按照实际的跟踪情况划分为:可能丢失状态、确定丢失状态和可能找回状态。
可以形象的理解为,处理设备100中具有如图4所示的状态流转图,参见图4,当处理设备100被触发跟踪目标对象时,对应的状态为初始状态0,此时,如果处理设备100接收的第二图像1中包括目标对象,则,确定当前对应的状态变为正常状态1;如果处理设备100接收的第二图像1中不包括目标对象,则,确定当前对应的状态变为可能丢失状态2。进入正常状态1后,如果处理设备100接收的第二图像2中包括目标对象,则,确定当前对应的状态保持正常状态1;一旦处理设备100接收的第二图像2中不包括目标对象,则,确定当前对应的状态变为可能丢失状态2。进入可能丢失状态2后,一旦处理设备100在预设时间t1内接收到包括目标对象的第二图像3,则,确定当前对应的状态变为正常状态1;如果处理设备100在预设时间t1内接收到任意一帧第二图像3中不包括目标对象,则,确定当前对应的状态保持可能丢失状态2;如果处理设备100到达预设时间t1,接收的第二图像3中都不包括目标对象,则,确定当前对应的状态变为确定丢失状态3。进入确定丢失状态3后,一旦处理设备100在预设时间t2内接收到包括目标对象的第二图像4,则,确定当前对应的状态变为可能找回状态4;如果处理设备100在预设时间t2内接收到任意一帧第二图像4中不包括目标对象,则,确定当前对应的状态保持确定丢失状态3;如果处理设备100到达预设时间t2,接收的第二图像4中都不包括目标对象,则,确定当前对应的状态变为确定空闲状态5。进入可能找回状态4后,一旦处理设备100在预设时间t3内接收到不包括目标对象的第二图像5,则,确定当前对应的状态变为确定丢失状态3;如果处理设备100在预设时间t3内接收到任意一帧第二图像5中包括目标对象,则,确定当前对应的状态保持可能找回状态4;如果处理设备100到达预设时间t3,接收的第二图像5中都包括目标对象,则,确定当前对应的状态变为正常状态1。从确定丢失状态3进入空闲状态5,可以认为对目标对象的跟踪彻底失败,此时,处理设备100可以向球机300发送退出指令,以指示球机300停止对目标对象的跟踪;并且,处理设备100还可以向中心设备400发送跟踪失败通知,用以告知中心设备400对目标对象的跟踪失败。
如果确定球机300处于正常状态1,那么,处理设备100可以根据下述图7所示的方法计算调整速度,S3032中生成的控制指令2是基于调整速度生成的移动指令,移动指令中包括调整速度。相比于移动指令中包括调整角度,以速度进行摄像机监控画面的调整使得步进电机341的转动更加顺畅,从而确保对目标对象的跟踪能够更加细致和平滑。
如果确定球机300处于异常状态,那么,S3032中处理设备100生成的控制指令2可以是停止指令、降低倍率指令或返回预置点指令。作为一个示例,当球机300进入可能丢失状态2时,处理设备100可以生成停止指令1,该停止指令1用于指示云台340中的步进电机341停止工作,并且,指示摄像机330停止变化倍率。作为另一个示例,当球机300进入确定丢失状态3时,处理设备100可以生成降低倍率指令,该降低倍率指令用于指示摄像机330降低倍率,以扩大监控范围,增加搜索到目标对象的概率。作为又一个示例,当球机300进入空闲状态5时,处理设备100可以生成返回预置点指令,该返回预置点指令用于指示步进电机341驱动摄像机330返回预置点,退出对目标对象的跟踪。作为再一个示例,当球机300进入可能找回状态4时,处理设备100可以生成停止指令2,该停止指令2用于指示云台340中的步进电机341停止工作,并且,指示摄像机330停止变化倍率。
对于S3033中发送控制指令2的预设规则,可以通过在球机通信协议的各种指令中增加强制执行标志位实现。考虑到移动指令是有时效性的,而指令发送、处理和执行均是需要时间的,步进电机也有激励响应时延,所以,移动指令不必每条都执行,只在发送指令的时机发送距离该时机最近的时间生成的移动指令,对球机300实现最好的调整效果,以确保不容易跟丢目标对象。基于此,移动指令的强制标志位可以取0,指示该移动指令不是强制执行的必要指令。但是,停止指令、降低倍率指令和返回预置点指令是球机300进行异常处理必须执行的指令,如果不执行很可能无法正确处理异常,导致对目标对象的跟踪彻底失败,因此,停止指令、降低倍率指令和返回预置点指令的强制标志位可以取1,指示这些指令是需要强制执行的必要指令。需要说明的是,预设规则中,如果处理设备100中保存中未执行的非强制执行指令,那么,后续生成的非强制执行指令或强制执行指令均可以覆盖之前生成的非强制执行指令;如果处理设备100中保存中未执行的强制执行指令,那么,后续生成的非强制执行指令被丢弃,后续生成的强制执行指令也被保存下来,两个强制执行指令按照生成的先后顺序周期性的发送给球机300。
例如,假设到达周期1时,处理设备100中没有未发送的控制指令,且该周期1期间球机300一直处于正常状态1,按照时间的先后顺序依次生成移动指令1、移动指令2和移动指令3,那么,当从周期1结束,进入下一个周期2的起始时刻,处理设备100向球机300发送最新生成的移动指令3,移动指令1和移动指令2可以被处理设备100丢弃。又例如,假设到达周期3时,处理设备100中没有未发送的控制指令,且该周期3期间球机300一直处于异常状态,按照时间的先后顺序依次生成停止指令1、停止指令2和降低倍率指令1,那么,当从周期3结束,进入下一个周期4的起始时刻,处理设备100向球机300发送最早生成的停止指令1,移动指令2和降低倍率指令1可以被处理设备100保存;当从周期4进入下一个周期5的时刻,处理设备100向球机300发送停止指令1之后生成的停止指令2;当从周期5进入下一个周期6的时刻,处理设备100向球机300发送停止指令2之后生成的降低倍率指令1。
在发送控制指令2的一个预设周期内,一种情况下,如果球机300均处于正常状态1且处理设备100中不存在未发送的停止指令、降低倍率指令和返回预置点指令,那么,处理设备100可能生成多个移动指令,但是仅保存最新的移动指令作为待发送的控制指令2,当到达发送控制指令2的时刻时,处理设备100向球机300发送该周期最新生成的移动指令。另一种情况下,如果球机300从正常状态1变为可能丢失状态2,那么,处理设备100可以生成至少一个停止指令,每个停止指令都保存在处理设备100中,当到达发送控制指令2的时刻时,处理设备100向球机300发送该周期最早生成的停止指令1。又一种情况下,如果球机300从可能丢失状态2变为确定丢失状态3,那么,处理设备100可能生成至少一个降低倍率指令,每个降低倍率指令都保存在处理设备100中,当到达发送控制指令2的时刻时,如果还有待发送的停止指令2,则,向云台340发送停止指令2;如果没有待发送的停止指令,则,向云台340发送降低倍率指令1。另一种情况下,如果球机300从确定丢失状态3变为空闲状态5,那么,处理设备100可能生成至少一个返回预置点指令,每个降返回预置点指令都保存在处理设备100中,当到达发送控制指令2的时刻时,如果还有待发送的降低倍率指令2,则,向云台340发送降低倍率指令2;如果没有待发送的降低倍率指令,则,向云台340发送返回预置点指令1。又一种情况下,如果球机300从确定丢失状态3变为可能找回状态4,那么,处理设备100可能生成至少一个停止指令,每个停止指令都保存在处理设备100中,当到达发送控制指令2的时刻时,如果还有待发送的降低倍率指令3,则,向云台340发送降低倍率指令3;如果没有待发送的降低倍率指令,则,向云台340发送停止指令3。再一种情况下,如果球机300从可能找回状态4变为正常状态1,那么,处理设备100可能生成至少一个移动指令,如果还有待发送的停止指令4,则,丢失所有生成的移动指令,当到达发送控制指令2的时刻时,向云台340发送停止指令4;如果没有待发送的停止指令,则,仅保存最新生成的移动指令,当到达发送控制指令2的时刻时,向云台340发送最新生成的移动指令。
如果处理设备100确定球机300发送的第二图像中包括了目标对象的关键信息,则,该处理设备340也可以将跟踪状态流转到图4所示的空闲状态5,此时,处理设备100可以向球机300发送返回预置点指令,用于控制步进电机341驱动摄像机330返回预置点,退出对目标对象的跟踪。其中,返回预置点指令中包括预置点标识,预置点标识用于唯一标识预置点。一种情况下,球机300中可以预设并记录至少一个预置点的相关信息(包括预置点标识),当球机300接收到返回预置点指令后,可以解析该返回预置点指令获取预置点标识,从而基于该预置点标识确定待返回的预置点,从而基于该预置点的相关信息返回到对应的预置点,完成该返回预置点指令。另一种情况下,处理设备300中为球机预设并记录至少一个预置点的相关信息(包括预置点标识、位置),处理设备100生成并发送给球机300的返回预置点指令中包括预置点位置,当球机300接收到返回预置点指令后,可以解析该返回预置点指令获取预置点位置,从而基于该预置点位置返回到对应的预置点,完成该返回预置点指令。
处理设备100中生成待发送的控制指令2在本地的保存方式在本实施例中不作具体限定。
作为一个示例,至少一个控制指令2可以以指令队列的形式在处理设备100中保存。当处理设备100的指令队列为空,且持续生成移动指令时,可以用后生成的移动指令覆盖之前生成的移动指令,保证指令队列中仅保存最新生成的移动指令。当处理设备100的指令队列保存有移动指令,又生成停止指令、降低倍率指令或返回预置点指令时,可以用后生成的停止指令、降低倍率指令或返回预置点指令覆盖之前生成的移动指令,保证指令队列中仅保存停止指令、降低倍率指令或返回预置点指令。当处理设备100的指令队列保存有停止指令、降低倍率指令或返回预置点指令,又生成移动指令时,可以丢弃该移动指令。当处理设备100的指令队列中包括有停止指令、降低倍率指令或返回预置点指令,又生成停止指令、降低倍率指令或返回预置点指令时,可以将新生成的停止指令、降低倍率指令或返回预置点指令也保存起来,然后按照生成顺序周期性向球机300发送。
举例来说:假设处理设备100预设的发送控制指令的一个周期为120毫秒,如图5所示,指令队列的情况具体为:t=10毫秒,处理设备100生移动指令成Move 1,该指令队列仅包括Move 1,处理设备100将指令队列中的Move 1向球机300的云台340发送,云台340按照该Move 1中的参数控制步进电机转动和/或变倍率;第一个周期内,t=50毫秒,处理设备100生成Move 2,该指令队列仅包Move 2,t=90毫秒,处理设备100生成Move 3并丢弃Move2,该指令队列仅包括Move 3,t=130毫秒,处理设备100生成停止指令Stop 1并丢弃Move3,此时,该指令队列仅包括Stop 1,处理设备100向云台340发送Stop 1,云台340按照该Stop 1控制步进电机341停止转动和变倍率;第二个周期内,t=170毫秒,处理设备100生成Stop 2,该指令队列仅包括Stop 2,t=210毫秒时,处理设备100生成Move 4并丢弃Move 4,该指令队列仅包括Stop 2,t=250毫秒,处理设备100生成返回预置点指令GotoPreset 1,该指令队列包括Stop 2和GotoPreset 1,处理设备100向云台340发送Stop 2,云台340按照该Stop 2控制步进电机341停止转动和变倍率;第三个周期内,t=290毫秒,处理设备100生成Move 5并丢弃Move 5,该指令队列包括GotoPreset 1,t=330毫秒时,处理设备100生成Move 6并丢弃Move 6,该指令队列包括GotoPreset 1,t=370毫秒,处理设备100生成Move7并丢弃Move 7,该指令队列包括GotoPreset 1,处理设备100向云台340发送GotoPreset1,云台340按照该GotoPreset 1中控制步进电机341转动到预置点。
其中,如图5所示,移动指令Move中可以包括第一方向的第一调整速度Vpan、第二方向的第二调整速度Vtilt、第一倍率调整速度Vzoom和强制标志位F,其中,第一方向的Vpan和第二方向的Vpan的取值的计算方式参见下述图7所示的实施例中的相关说明;Vzoom的数值大小为预设倍率调整速度,方向按照当前第二图像中目标对象的实际状态进行确定;强制标志位F的取值为0。停止指令Stop中可以包括停止转动指示位T、停止变倍率指示位M和强制标志位F,通常,停止转动指示位T的取值为1,停止变倍率指示位M的取值为1,强制标志位F的取值为1,该情况下,该Stop用于指示球机300停止转动和停止变倍率,且该Stop为需要强制执行的指令。返回预置点指令GotoPreset中可以包括预置点的标识D和强制标志位F,通常,预置点的标识D用于唯一标识球机300的一个预置点,强制标志位F的取值为1,该情况下,该GotoPreset用于指示球机300返回标识D对应的预置点,例如返回名称为home的预置点,且该GotoPreset为需要强制执行的指令。此外,处理设备100在确定球机300处于丢失状态3时,还可以生成降低倍率指令ZoomOut(也称为收缩焦距指令),该ZoomOut中可以包括停止转动指示位T、停止变倍率指示位M和强制标志位F,通常,停止转动指示位T的取值为1,停止变倍率指示位M的取值为0,强制标志位F的取值为1,该情况下,该ZoomOut用于指示球机300停止转动并缩小倍率扩大监控范围,从而从更大的监控区域中搜索目标对象,增大找回目标对象的概率,ZoomOut为需要强制执行的指令。需要说明的是,ZoomOut和Stop可以是两种不同类型的指令,也可以是同一类型的指令下基于停止变倍率指示位M取值的不同而区分的两条功能不同的指令,在本申请实施例中不作具体限定。
本实施例中上述PID算法计算移动指令Move中的参数Vpan和Vtilt。为了能够更加准确的计算出使得跟踪目标对象效果最佳的参数Vpan和Vtilt,本实施例提供的PID计算中,突出的贡献点包括:
一方面,处理设备100中预设有倍率和PID参数组{KP、KI和KD}之间的对应关系,例如:对于球机300中摄像机330的倍率变化分为为1.0~30.0的情况下,预设10组对应关系:1.0~2.9对应PID参数组1{KP1、KI1和KD1},3.0~5.9对应PID参数组2{KP2、KI2和KD2},……,24.0~26.9对应PID参数组9{KP9、KI9和KD9}以及27.0~30.0对应PID参数组10{KP10、KI10和KD10}。这样,当需要计算Vpan和Vtilt时,可以直接根据球机300中摄像机330的当前倍率,确定出对应的PID参数组,并基于上述公式(1)和公式(2)计算Vpan和Vtilt。
另一方面,考虑到步进电机341执行的移动指令Move过程中的调整速度Vpan和Vtilt是离散的,而PID输出的调整速度是连续的,所以,处理设备100中在基于PID计算Vpan和Vtilt之前,也可以先判断目标对象是否在第二图像的中心区域,如果在,则,将当前时刻第二图像的中心点和第二图像中目标对象的中心点之间的偏差置零后再进行PID计算;如果不在,则,直接根据当前时刻第二图像的中心点和第二图像中目标对象的中心点之间的偏差进行PID计算。其中,第二图像的中心区域是处理设备100预先设置的,预先设置:第二图像的中心点和第二图像中目标对象的中心点之间的偏差△x≤△x阈值且△y≤△y阈值,如图6所示,第二图像的中心点坐标为(x0,y0),在第二图像中包括目标对象的方形框的中心点为(x,y),偏差为(△x,△y),预设的中心区域在x方向上的长度为△x阈值,y方向上的长度为△y阈值,其中,△x=|x-x0|,△y=|y-y0|。在t时刻,如果△x(t)≤△x阈值且△y(t)>△y阈值,则,将公式(2)中的△y(t)置零后根据公式(2)计算Vtilt,不对△x(t)做指令处理,直接带入公式(1)计算Vpan;如果△x(t)>△x阈值且△y(t)≤△y阈值,则,将公式(1)中的△x(t)置零后根据公式(1)计算Vpan,不对△y(t)做指令处理,直接带入公式(2)计算Vtilt;如果△x(t)≤△x阈值且△y(t)≤△y阈值,则,将公式(1)中的△x(t)置零后根据公式(1)计算Vpan,将公式(2)中的△y(t)置零后根据公式(2)计算Vtilt;如果△x(t)>△x阈值且△y(t)>△y阈值,则,不对△x(t)做指令处理,直接带入公式(1)计算Vpan,不对△y(t)做指令处理,直接带入公式(2)计算Vtilt。这样,对于目标对象位于第二图像的中心或目标对象距离第二图像的中心不远的情况,通过将对应方向上的偏差置零,使得PID在对应方向上输出更加精确的调整速度。
再一方面,考虑到步进电机341是按照不同的转动档位转动的,通常具有最小档位(如0.1档),那么,为了避免PID计算出的Vpan和Vtilt过小(例如小于0.1)导致步进电机341转动过头,使得步进电机341的转动过程发生来回晃动、无法稳定的现象,处理设备100在计算出Vpan和Vtilt之后生成移动指令之前,还对Vpan和Vtilt分别进行死区判断,当位于死区时,将该调整速度置零(即不再该方向上进行调整)。举例来说,处理设备100可以预设死区为-ζ~ζ,通常ζ的取值为步进电机341的最小转动档位,例如ζ=0.1,那么,如果Vpan=0.07,则,由于-0.1≤0.07≤0.1,则,设置Vpan=0;如果Vtilt=-0.05,则,由于-0.1≤-0.05≤0.1,则,设置Vtilt=0。
接下来,结合图7进一步介绍本实施例中采用PID算法计算移动指令Move中的参数Vpan和Vtilt的具体过程如下:
S31,获取第二图像中包括目标对象方形框的中心点(x,y);
S32,计算(x,y)和第二图像的中心点(x0,y0)的偏差(△x,△y);
S33,分别判断△x是否小于或等于△x阈值,△y是否小于或等于△y阈值,如果是,则将对应的偏差置零后执行S34,如果否,则直接执行S34;
S34,获取球机300当前的倍率n;
S35,根据预设的倍率和PID参数组{KP、KI和KD}之间的对应关系,确定与倍率n对应的PID参数组n{KPn、KIn和KDn};
S36,根据PID参数组n{KPn、KIn和KDn}、△x、△y以及公式(1)和公式(2)计算Vpan和Vtilt;
S37,分别判断Vpan和Vtilt是否位于预设的死区,如果是,则将位于死区的Vpan和/或Vtilt置零后执行S38,如果否则直接执行S38;
S38,根据Vpan和Vtilt生成移动指令Move,Move中包括Vpan和Vtilt。
需要说明的是,中心区域判断(即S33)和死区判断(即S37)均为提高监控效果的可选步骤,是否执行在本申请实施例中不作具体限定。
虽然调整摄像机330的倍率可以调节监控范围大小,但是考虑到倍率调整速度过快,会导致球机330在变化倍率的时采集的第二图像是模糊不清的,严重影响对目标对象的跟踪,那么,本实施例中倍率调整速度采用预设值的方式确定而不采用PID算法进行计算,以该预设值作为倍率调整速度调整倍率,能够确保摄像机330在倍率调整的过程中采集的第二图像也是清晰的,不会影响对目标对象的跟踪。具体实现时,假设预设值为a(a>0),确定倍率调整速度Vzoom的方法可以包括:S41,获取第二图像中目标对象占第二图像的比例;S42,判断该比例和预设的比例阈值1、比例阈值2的大小关系,如果该比例小于比例阈值1,则执行S43,如果该比例大于或等于比例阈值1且小于或等于比例阈值2,则执行S44,如果该比例大于比例阈值2,则执行S45,其中,比例阈值1小于比例阈值2;S43,确定Vzoom为a,以控制摄像机330按照a增大摄像机330的倍率;S44,确定Vzoom为0,以控制不对摄像机330的倍率进行调整;S45,确定Vzoom为-a,以控制摄像机330按照a降低摄像机330的倍率。需要说明的是,摄像机330的倍率越大,监控范围就越小,目标对象在第二图像中所占的比例就越大;反之,摄像机330的倍率越小,监控范围就越大,目标对象在第二图像中所占的比例就越大。
其中,处理设备100可以根据目标对象的不同确定作为倍率调整的参考因素,例如,当目标对象是细长的形态(如人物),则,确定以目标对象在第二图像中的高度h作为倍率调整的参考因素;又例如,当目标对象是矮宽的形态(如车辆),则,确定以目标对象在第二图像中的宽度w作为倍率调整的参考因素;又例如,当目标对象是矮宽的形态(如车辆),但是宽度与其他对象的宽度近似相等,则,确定以目标对象在第二图像中的高度h和宽度w共同作为倍率调整的参考因素。
以目标对象是人物,高度h作为倍率调整的参考因素,预设值a=1.5/秒,且预设比例阈值1和比例阈值2,比例阈值1为1/3,比例阈值2位2/3为例,如果在t1时刻,处理设备100确定该人的高度占第二图像1的高度的比例为1/5,那么,由于1/5小于1/3,生成的移动指令Move中包括的倍率调整速度Vzoom为1.5/秒;如果在t2时刻,处理设备100确定该人的高度占第二图像2的高度的比例为1/2,那么,由于1/2小于2/3且大于1/3,生成的移动指令Move中包括的倍率调整速度Vzoom为0;如果在t3时刻,处理设备100确定该人的高度占第二图像3的高度的比例为5/6,那么,由于5/6大于2/3,生成的移动指令Move中包括的倍率调整速度Vzoom为-1.5/秒。
可见,通过本实施例提供的方法,处理设备100在获取监控***中枪机200发送的包括待跟踪的目标对象的第一图像时,能够控制球机300中云台340的步进电机341工作,以驱动该球机300转动到枪机200对应的监控区域,这样,球机300中的摄像机即可采集到包括目标对象的第二图像并发送给处理设备100,处理设备100能够基于球机300发来的第二图像,生成对球机300的控制指令,并且周期性的向所述云台340发送控制指令,以控制云台340中的步进电机341工作,实现对目标对象的跟踪。由于该方法考虑到球机300中的摄像机330的转动是通过步进电机341的转动而带动的,步进电机341存在一定的激励响应时延,球机300中摄像机330采集图像的过程是离散的等特点,通过预设发送控制指令的周期,处理设备100周期性向具有可转动、可变倍率的球机300发送控制指令,有效的克服了目前在控制球机300的摄像机330转动时不够平滑稳定的缺点,使得球机300的转动过程不再卡顿,实现对目标对象平滑稳定的跟踪,从而提升球机300的使用体验。
上文中结合图2和图3详细描述了本实施例所提供的球机控制方法,下面将结合图8和图9,描述根据本实施例所提供的球机控制装置和设备。
图8为本实施例提供的一种球机控制装置800,所述球机控制装置800应用于处理设备,所述球机控制装置800包括:确定单元801、发送单元802和跟踪单元803;
确定单元801,用于确定待跟踪的目标对象;
发送单元802,用于周期性向球机发送控制指令,该控制指令用于控制球机中云台的步进电机以驱动球机中摄像机转动至目标对象所在的监控区域;
跟踪单元803,用于基于球机中摄像机采集的图像,跟踪目标对象。
其中,向球机发送控制指令的周期大于步进电机的激励响应时延。
可选地,确定单元801,还用于在周期性向球机发送控制指令之前,根据图像中目标对象的跟踪结果确定所述控制指令,该跟踪结果包括正常状态和异常状态。
作为一个示例,当目标对象的跟踪结果为正常状态时,控制指令为第一控制指令,第一控制指令用于指示球机继续跟踪目标对象。
可选地,发送单元802,还用于:向球机发送同一周期中最新生成的第一控制指令。
可选地,确定单元801,还用于按照预设规则确定第一控制指令,预设规则包括根据球机中摄像机的倍率和比例积分微分PID参数组确定第一控制指令。
可选地,确定单元801,包括:第一确定子单元、第二确定子单元和第三确定子单元。其中,第一确定子单元,用于根据球机中摄像机当前的倍率,确定倍率对应的PID参数组;第二确定子单元,用于根据PID参数组,确定第一调整速度和第二调整速度;第三确定子单元,用于根据第一调整速度和第二调整速度确定第一控制指令。
可选地,第二确定子单元,还用于根据PID参数和第一方向上的第一偏差,确定第一调整速度,其中,第一偏差为图像的中心点和图像中目标对象所在区域的中心点之间在第一方向上的距离。
可选地,确定单元801,还包括第一置零子单元,该第一置零子单元,用于在根据PID参数和第一方向上的第一偏差确定第一调整速度之前,如果第一偏差小于预设的第一偏差阈值,则,将第一偏差置零,第一偏差阈值基于图像预设的中心区域确定。
可选地,确定单元801,还包括第二置零子单元,该第二置零子单元,用于如果第一调整速度位于死区范围内,则,将第一调整速度置零,死区范围根据步进电机的调整精度确定。
可选地,预设规则还可以包括根据目标对象在预设方向上占图像的比例确定第一控制指令。
可选地,确定单元801,还包括:获取子单元、第四确定子单元和第五确定子单元。其中,获取子单元,用于获取在预设方向上目标对象占图像的比例;第四确定子单元,用于根据比例和预设比例阈值,确定目标倍率调整速度,目标倍率调整速度为预设倍率调整速度或预设倍率调整速度的相反数;第五确定子单元,用于根据目标倍率调整速度确定第一控制指令。
作为另一个示例,当目标对象的跟踪结果为异常状态时,控制指令为第二控制指令,第二指令用于指示球机在异常状态时执行对球机的控制。
可选地,确定单元801,还用于按照预设规则确定第二控制指令,预设规则包括根据异常状态的类型确定第二控制指令,第二控制指令包括下述指令中的至少一个:停止指令、降低倍率指令或返回预置点指令。
可选地,发送单元802,还用于向球机发送指令队列中保存的最早生成的第二控制指令。
在一些可能的实现方式中,异常状态包括第一异常状态、第二异常状态、第三异常状态和第四异常状态,装置800还包括:第一处理单元~第五处理单元。其中,第一处理单元,用于当球机处于正常状态且采集到的图像中不包括目标对象时,确定球机进入第一异常状态,并指示云台中的步进电机停止工作;第二处理单元,用于当球机处于第一异常状态且在第一预设时间采集的多帧图像中均不包括目标对象时,或者,当球机处于第一异常状态且球机在第一预设时间内采集的图像中包括目标对象,确定球机进入第二异常状态,并指示摄像机降低倍率,以扩大监控范围;第三处理单元,用于当球机处于第二异常状态且在第二预设时间采集的多帧图像中均不包括目标对象时,确定球机进入第三异常状态,并指示步进电机驱动摄像机返回预置点,退出对目标对象的跟踪;第四处理单元,用于当球机处于第二异常状态且采集到的图像中包括目标对象时,确定球机进入第四异常状态,并指示云台中的步进电机停止工作;第五处理单元,用于当球机处于第四异常状态且球机在第三预设时间内采集的多帧图像中均包括目标对象,或者,当球机处于第一异常状态且球机在第一预设时间内采集的图像中包括目标对象,确定球机进入正常状态。
其中,发送单元802,用于当向球机发送控制指令的一个周期内,球机从正常状态变为第一异常状态时,向云台发送第一停止指令;或者,发送单元802,用于当向球机发送控制指令的一个周期内,球机从第一异常状态变为正常状态时,如果还有待发送的第二停止指令,则,向云台发送第二停止指令;如果没有待发送的第二停止指令,则,向云台发送第一移动指令;或者,发送单元802,用于当向球机发送控制指令的一个周期内,球机从第一异常状态变为第二异常状态时,如果还有待发送的第三停止指令,则,向云台发送第三停止指令;如果没有待发送的第三停止指令,则,向云台发送第一降低倍率指令;或者,发送单元802,用于当向球机发送控制指令的一个周期内,球机从第二异常状态变为第三异常状态时,如果还有待发送的第二降低倍率指令,则,向云台发送第二降低倍率指令;如果没有待发送的第二降低倍率指令,则,向云台发送第一返回预置点指令;或者,发送单元802,用于当向球机发送控制指令的一个周期内,球机从第二异常状态变为第四异常状态时,如果还有待发送的第三降低倍率指令,则,向云台发送第三降低倍率指令;如果没有待发送的第三降低倍率指令,则,向云台发送第四停止指令;或者,发送单元802,用于当向球机发送控制指令的一个周期内,球机从第四异常状态变为正常状态时,如果还有待发送的第五停止指令,则,向云台发送第五停止指令;如果没有待发送的第五停止指令,则,向云台发送最新生成的移动指令;或者,发送单元802,用于当向球机发送控制指令的一个周期内,球机从第四异常状态变为第二异常状态时,如果还有待发送的第六停止指令,则,向云台发送第六停止指令;如果没有待发送的第六停止指令,则,向云台发送第四降低倍率指令。
在一些可能的实现方式中,该装置800还可以包括:第六处理单元。该第六处理单元,用于当球机已经获取到目标对象的关键信息时,确定球机进入第五异常状态,并指示步进电机驱动摄像机返回预置点,退出对目标对象的跟踪。作为一个示例,该发送单元802,可以包括:第一发送子单元和第二发送子单元。其中,第一发送子单元,用于在第一时刻,向云台发送第一指令队列中的第一控制指令;第二发送子单元,用于在第二时刻,向云台发送第二指令队列中的第二控制指令。其中,第一时刻到第二时刻所经历的时间为球机发送控制指令的一个周期,在第一时刻发送的控制指令为第一控制指令,在第二时刻发送的控制指令为第二控制指令;如果截止第一时刻生成的所有控制指令中仅包括移动指令,则,第一指令队列中仅包括的第一控制指令,第一控制指令为第一时刻之前最新生成的移动指令;如果截止第一时刻生成的所有控制指令中包括停止指令、降低倍率指令或返回预置点指令中的至少一个,则,第一指令队列中按照生成顺序依次包括截止第一时刻生成的所有停止指令、降低倍率指令或返回预置点指令,第一指令队列不包括移动指令,第一控制指令为第一指令队列中生成时刻距离第一时刻的时间最长的指令。
作为一个示例,如果第一控制指令为第一移动指令,在第一时刻和第二时刻之间,该装置800还可以包括:第一队列更新单元~第三队列更新单元。其中,第一队列更新单元,用于在第三时刻,生成第五停止指令,并将第五停止指令覆盖第一指令队列中的第一移动指令,获得更新后的第一指令队列,更新后的第一指令队列包括第一停止指令;第二队列更新单元,用于在第四时刻,生成第二移动指令,根据更新后的第一指令队列将第二移动指令丢弃;第三队列更新单元,用于在第五时刻,生成第二返回预置点指令,并将第二返回预置点指令添加到更新后的第一指令队列的第五停止指令之后,获得第二指令队列,第二指令队列包括第五停止指令和第二返回预置点指令。该示例下,第二发送子单元,用于向云台发送第五停止指令,以控制云台中的步进电机停止工作。该示例下,发送单元802,还用于在第二时刻之后的第六时刻,向云台发送第二返回预置点指令,以控制云台中的步进电机驱动球机返回预置点,其中,第二时刻到第六时刻所经历的时间为一个周期。
应理解的是,本申请实施例的装置800可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图3所示的球机控制方法时,装置800及其各个单元也可以为软件模块。
根据本实施例的球机控制装置800可对应于执行本实施例中描述的方法,并且球机控制装置800中的各个单元的上述和其它操作和/或功能分别为了实现图3中的方法的相应流程,为了简洁,在此不再赘述。
图9为本实施例提供的一种球机控制设备900的示意图,如图所示,所述球机控制设备900包括处理器901、存储器902、通信接口903和内存单元904。其中,处理器901、存储器902、通信接口903、内存单元904通过总线905进行通信,也可以通过无线传输等其他手段实现通信。该存储器902用于存储指令,该处理器901用于执行该存储器902存储的指令。该存储器902存储程序代码,且处理器901可以调用存储器902中存储的程序代码执行以下操作:
确定待跟踪的目标对象;
周期性向球机发送控制指令,所述控制指令用于控制所述球机中云台的步进电机以驱动所述球机中摄像机转动至所述目标对象所在的监控区域;
基于所述球机中摄像机采集的图像跟踪所述目标对象。
应理解,在本申请实施例中,该处理器901可以是CPU,该处理器901还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器902可以包括只读存储器和随机存取存储器,并向处理器901提供指令和数据。存储器902还可以包括非易失性随机存取存储器。例如,存储器902还可以存储设备类型的信息。
该存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
该总线905除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线905。
应理解,根据本申请实施例的球机控制设备900可对应于本申请实施例中的球机控制装置800,并可以对应于执行根据本申请实施例中图3所示方法中的相应主体,并且球机控制设备900中的各个模块的上述和其它操作和/或功能分别为了实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。
作为另一种可能的实施例,本申请还提供一种监控***,该监控***包括第一设备、第二设备和处理设备,处理设备分别和所述第一设备、所述第二设备通信。其中,第一设备,用于获取固定监控范围内的图像,并将包括目标对象的第一图像发送给处理设备;处理设备,用于执行上述如图3所示的方法的各个操作步骤,向第二设备发送控制指令,实现对第二设备的控制,为了简洁在此不再赘述;第二设备,用于基于处理设备发送的控制指令,完成对目标对象的跟踪。
其中,第二设备为球机。第一设备可以是枪机。具体结构可以参加图1。
作为一个示例,该监控***还可以包括中心设备,处理设备,还用于获取目标对象的关键信息,并将关键信息发送给所述中心设备;中心设备,用于对关键信息进行分析和处理。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (20)
1.一种球机控制方法,其特征在于,包括:
确定待跟踪的目标对象;
周期性向球机发送控制指令,所述控制指令用于控制所述球机中云台的步进电机以驱动所述球机中摄像机转动至所述目标对象所在的监控区域;
基于所述球机中摄像机采集的图像跟踪所述目标对象。
2.根据权利要求1所述的方法,其特征在于,向所述球机发送所述控制指令的周期大于所述步进电机的激励响应时延。
3.根据权利要求1或2述方法,其特征在于,在所述周期性向球机发送控制指令之前,所述方法还包括:
根据所述图像中目标对象的跟踪结果确定所述控制指令,所述跟踪结果包括正常状态和异常状态。
4.根据权利要求3所述方法,其特征在于,所述方法还包括:
当所述目标对象的跟踪结果为正常状态时,所述控制指令为第一控制指令,所述第一控制指令用于指示所述球机继续跟踪所述目标对象。
5.根据权利要求4所述方法,其特征在于,所述周期性向所述球机发送控制指令,包括:
向所述球机发送同一周期中最新生成的第一控制指令。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述图像中目标对象的跟踪结果确定所述控制指令,包括:
按照预设规则确定所述第一控制指令,所述预设规则包括根据所述球机中摄像机的倍率和比例积分微分PID参数组确定所述第一控制指令。
7.根据权利要求6所述的方法,其特征在于,所述根据所述球机中摄像机的倍率和比例积分微分PID参数组确定所述第一控制指令,包括:
根据所述球机中摄像机当前的倍率,确定所述倍率对应的所述PID参数组;
根据所述PID参数组,确定第一调整速度和第二调整速度;
根据所述第一调整速度和所述第二调整速度确定所述第一控制指令。
8.根据权利要求7所述的方法,其特征在于,所述根据所述PID参数组确定第一调整速度,包括:
根据所述PID参数和第一方向上的第一偏差,确定所述第一调整速度,其中,所述第一偏差为所述图像的中心点和所述图像中所述目标对象所在区域的中心点之间在所述第一方向上的距离。
9.根据权利要求8所述的方法,其特征在于,在所述根据所述PID参数和第一方向上的第一偏差确定所述第一调整速度之前,所述方法还包括:
如果所述第一偏差小于预设的第一偏差阈值,则,将所述第一偏差置零,所述第一偏差阈值基于所述图像预设的中心区域确定。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述方法还包括:
如果所述第一调整速度位于死区范围内,则,将所述第一调整速度置零,所述死区范围根据所述步进电机的调整精度确定。
11.根据权利要求6-10任一项所述的方法,其特征在于,所述预设规则还包括根据所述目标对象在预设方向上占所述图像的比例确定所述第一控制指令。
12.根据权利要求11所述的方法,其特征在于,所述根据所述目标对象在预设方向上占所述图像的比例确定所述第一控制指令,包括:
获取在所述预设方向上所述目标对象占所述图像的比例;
根据所述比例和预设比例阈值,确定目标倍率调整速度,所述目标倍率调整速度为预设倍率调整速度或所述预设倍率调整速度的相反数;
根据所述目标倍率调整速度确定所述第一控制指令。
13.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述目标对象的跟踪结果为异常状态时,所述控制指令为第二控制指令,所述第二指令用于指示所述球机在所述异常状态时执行对所述球机的控制。
14.根据权利要求13所述的方法,其特征在于,所述根据所述图像中目标对象的跟踪结果确定所述控制指令,包括:
按照预设规则确定所述第二控制指令,所述预设规则包括根据所述异常状态的类型确定所述第二控制指令,所述第二控制指令包括下述指令中的至少一个:停止指令、降低倍率指令或返回预置点指令。
15.根据权利要求14所述方法,其特征在于,所述周期性向所述球机发送控制指令,包括:
向所述球机发送指令队列中保存的最早生成的第二控制指令。
16.一种球机控制装置,其特征在于,包括:
确定单元,用于确定待跟踪的目标对象;
发送单元,用于周期性向球机发送控制指令,所述控制指令用于控制所述球机中云台的步进电机以驱动所述球机中摄像机转动至所述目标对象所在的监控区域;
跟踪单元,用于基于所述球机中摄像机采集的图像跟踪所述目标对象。
17.根据权利要求16所述的装置,其特征在于,向所述球机发送所述控制指令的周期大于所述步进电机的激励响应时延。
18.根据权利要求16或17所述装置,其特征在于,
所述确定单元,还用于在所述周期性向球机发送控制指令之前,根据所述图像中目标对象的跟踪结果确定所述控制指令,所述跟踪结果包括正常状态和异常状态。
19.根据权利要求16至18任一项所述装置,其特征在于,所述发送单元,还用于:
向所述球机发送同一周期中最新生成的控制指令。
20.一种球机控制的设备,其特征在于,包括处理器和存储器;所述存储器,用于存储计算机指令;所述处理器,用于根据所述计算机指令执行如上述权利要求1-15任一项所述的方法操作步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760555.1A CN114071069A (zh) | 2020-07-31 | 2020-07-31 | 球机控制方法、装置及设备 |
PCT/CN2021/099895 WO2022022118A1 (zh) | 2020-07-31 | 2021-06-12 | 球机控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760555.1A CN114071069A (zh) | 2020-07-31 | 2020-07-31 | 球机控制方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114071069A true CN114071069A (zh) | 2022-02-18 |
Family
ID=80037112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760555.1A Pending CN114071069A (zh) | 2020-07-31 | 2020-07-31 | 球机控制方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114071069A (zh) |
WO (1) | WO2022022118A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396590A (zh) * | 2022-07-05 | 2022-11-25 | 浙江大华技术股份有限公司 | 基于枪球联动设备控制方法、装置、终端设备及存储介质 |
WO2024083113A1 (en) * | 2022-10-20 | 2024-04-25 | Zhejiang Dahua Technology Co., Ltd. | Methods, systems, and computer-readable media for target tracking |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL442945A1 (pl) * | 2022-11-24 | 2024-05-27 | Enprom Spółka Z Ograniczoną Odpowiedzialnością | Sposób punktowego monitorowania oraz układ do punktowego monitorowania obiektów zwłaszcza słupów elektroenergetycznych |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000083246A (ja) * | 1998-09-04 | 2000-03-21 | Canon Inc | カメラ制御システム、カメラ制御方法、およびその処理を実行するプログラムを記憶した記録媒体 |
CN104184932B (zh) * | 2013-05-20 | 2018-03-23 | 浙江大华技术股份有限公司 | 球机控制方法及装置 |
CN105955311A (zh) * | 2016-05-11 | 2016-09-21 | 阔地教育科技有限公司 | 一种跟踪控制方法、跟踪控制装置及跟踪控制*** |
CN106408551B (zh) * | 2016-05-31 | 2019-02-19 | 北京格灵深瞳信息技术有限公司 | 一种监控装置控制的方法及装置 |
CN107016367B (zh) * | 2017-04-06 | 2021-02-26 | 北京精英路通科技有限公司 | 一种跟踪控制方法及跟踪控制*** |
CN111385474B (zh) * | 2020-03-09 | 2022-04-29 | 浙江大华技术股份有限公司 | 目标对象的跟踪方法及装置、存储介质、电子装置 |
-
2020
- 2020-07-31 CN CN202010760555.1A patent/CN114071069A/zh active Pending
-
2021
- 2021-06-12 WO PCT/CN2021/099895 patent/WO2022022118A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396590A (zh) * | 2022-07-05 | 2022-11-25 | 浙江大华技术股份有限公司 | 基于枪球联动设备控制方法、装置、终端设备及存储介质 |
WO2024083113A1 (en) * | 2022-10-20 | 2024-04-25 | Zhejiang Dahua Technology Co., Ltd. | Methods, systems, and computer-readable media for target tracking |
Also Published As
Publication number | Publication date |
---|---|
WO2022022118A1 (zh) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114071069A (zh) | 球机控制方法、装置及设备 | |
JP6786378B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20210051273A1 (en) | Photographing control method, device, apparatus and storage medium | |
CN111787232B (zh) | 基于云台摄像机的图像处理方法、设备及存储介质 | |
GB2401977A (en) | Surveillance of an area | |
JP2006081125A (ja) | 撮像システム及び撮像方法 | |
CN111314609B (zh) | 一种控制云台追踪摄像的方法及装置 | |
CN110519510B (zh) | 一种抓拍方法、装置、球机及存储介质 | |
CN111340857B (zh) | 一种摄像机跟踪控制方法及装置 | |
CN110839127A (zh) | 巡检机器人抓拍方法、装置、***及巡检机器人 | |
WO2014026586A1 (zh) | 移动侦测的方法、***和业务服务器 | |
WO2023072088A1 (zh) | 对焦方法及装置 | |
WO2016125946A1 (ko) | 복수의 고해상도 카메라들을 이용한 파노라마 영상 감시 시스템 및 그 방법 | |
JP2021078124A (ja) | インテリジェント撮影システムの撮影制御方法、装置、記憶媒体及びシステム | |
JP2018093401A (ja) | 映像監視装置、映像監視方法および映像監視システム | |
US20170019585A1 (en) | Camera clustering and tracking system | |
CN113329171A (zh) | 一种视频处理方法、装置、设备及存储介质 | |
CN111862197B (zh) | 视频监控中的目标跟踪方法、***及球机 | |
CN116017136A (zh) | 拍摄设备的控制方法和装置、存储介质及电子装置 | |
WO2014119991A1 (en) | Directing steerable camera with user bias tracking | |
CN110933352A (zh) | 一种鱼眼图像的矫正方法及数字视频录像机 | |
CN113542695B (zh) | 一种全自动的物联网用区域监视*** | |
KR100382792B1 (ko) | 지능형 로보틱 카메라 및 그 분산 제어장치 | |
WO2022000211A1 (zh) | 拍摄***的控制方法、设备、及可移动平台、存储介质 | |
JP7335753B2 (ja) | 物体追尾システム、物体追尾装置、物体追尾方法及びプログラム |
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 |