技术领域
[0001] 本
申请涉及视频监控领域,特别涉及一种实现快速抓拍的方法、装置及系统。
背景技术
[0002] 随着现在视频监控技术的发展,监控由单纯的记录视频向智能化发展。在许多监控场景下对目标的检测和识别的需求日益增多,这就需要快速抓拍并提取目标。目前相机普遍采用反差对焦方式进行对焦操作,采用图像的反差纹理的强度判定当前对焦是否在最清晰的
位置上。该对焦技术直接判定获取的图像信息,所以
精度较高,但由于需要分析整个对焦过程,因而对焦速度较慢,无法满足快速对焦的需求。
[0003] 现有的抓拍技术方案是采用固定焦距的泛焦镜头和广
角镜头相结合,在广角镜头上发现目标之后,利用泛焦镜头
光圈小、大景深的特点直接抓拍固定距离范围的目标。但由于泛焦镜头是采用固定光圈和焦距,只能采用定焦镜头的设计,并只能适用于有限范围内的物体拍摄,无法变焦,使用范围受到局限。
发明内容
[0004] 本发明
实施例提供了一种快速抓拍的方法、装置及系统,能够实现检测到目标之后快速
定位、快速调焦以及快速抓拍到目标的图像。
[0005] 为达到上述目的,本发明实施例提供如下技术方案:
[0006] 第一方面,本发明实施例提供一种快速抓拍的方法,该方法包括:首先,检测第一相机监测的当前画面中的目标,计算目标与第一相机的距离与角度;然后,根据得到的距离与角度计算第二相机抓拍目标所需要的拍摄参数,拍摄参数包括镜头焦距和拍摄角度;最后,按照拍摄参数调整第二相机的角度和镜头的焦距之后抓拍目标。由于通过第一相机检测目标并计算目标的距离,进而得到第二相机的拍摄参数,能够减少第二相机的对焦时间,更及时、更清晰地抓拍到目标的图像。
[0007] 其中,第一相机为
立体视觉相机,第二相机为PTZ(Pan/Tilt/Zoom)相机。
[0008] PTZ相机在收到第一相机计算的距离与角度时,可以将该角度设置为PTZ相机的拍摄角度,将该距离设置为目标与PTZ相机的物距,根据该物距得到PTZ相机的镜头焦距,进而根据上述拍摄角度和镜头焦距调整PTZ相机抓拍目标。
[0009] 可选地,可以通过查询物距与PTZ相机的镜头焦距的对照表以得到PTZ相机的镜头焦距。
[0010] 在一种可能的设计中,为更精确地调整PTZ相机,可以在计算目标的距离时计算该距离对应的距离估算误差,在得到物距时,计算PTZ相机在该物距的景深,比较距离估算误差和景深的大小,若距离估算误差小于等于景深,按照拍摄参数调整PTZ相机之后抓拍目标;若距离估算误差大于景深,按照拍摄参数调整PTZ相机之后,自动调整镜头的焦距并抓拍目标。因为当景深大于等于距离估算误差,则此时景深能够
覆盖目标的距离估算误差范围,即使距离计算存在一定误差,但也在景深范围内,能够拍摄到清晰的图像,可以直接按照拍摄参数调整PTZ相机抓拍目标;但若景深小于距离估算误差,此时景深无法全部覆盖目标的距离估算误差范围,很可能无法拍摄到目标清晰的图像,因此,需要在按照拍摄参数调整PTZ相机之后再进行辅助自动对焦抓拍目标,这样才能根据实际情况调整PTZ相机,得到更清晰的目标图像。
[0011] 在一些情况下,可能在立体视觉相机的当前画面中检测到多个目标,计算多个目标与立体视觉相机的距离和角度,根据距离与角度计算得到PTZ相机的镜头参数,并根据优先级确定多个目标的抓拍顺序,按照确定的抓拍顺序分别抓拍目标,根据优先级确定多个目标的抓拍顺序所依据的参数包括目标所在的方位、角度、距离、运行轨迹或是否即将离开监控区域等。
[0012] 第二方面,本发明实施例提供一种快速抓拍系统,包括:第一相机,用于获取当前的监测画面,检测监测画面中的目标,计算目标与第一相机的距离和角度,并将该距离和角度发送给第二相机;第二相机,用于接收第一相机发送的距离和角度,根据该距离和角度计算第二相机的拍摄参数,按照拍摄参数调整第二相机抓拍目标,其中,拍摄参数包括镜头焦距和拍摄角度。
[0013] 第三方面,本发明实施例还提供一种快速抓拍装置,包括:第一相机,用于同时从两个镜头获取当前的监测画面;处理器,用于检测第一相机当前画面中的目标并计算目标与第一相机之间的距离和角度,根据该距离和角度计算第二相机的拍摄参数,并控制第二相机抓拍目标,其中,拍摄参数包括拍摄角度和镜头焦距;第二相机,用于抓拍目标。
[0014] 第四方面,本发明实施例还提供一种计算机可读存储介质,用于存储为上述快速抓拍装置和/或系统所用的计算机
软件指令,其包含用于执行上述第一方面提供的方法所设计的程序代码。
[0015] 本发明实施例通过上述方面,公开了一种快速抓拍方法、装置及系统,在该方法中,首先通过立体视觉技术快速测量目标的距离和角度,进而获得抓拍相机相应的拍摄参数,并根据该拍摄参数快速调整抓拍相机,完成对目标的抓拍。与
现有技术相比,本发明实施例公开的方法能够更为精确、快速地确定抓拍相机的拍摄参数,减少了抓拍相机的对焦时间,具有更高的准确性,使抓拍更为及时,图像更为清晰。
[0016] 本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
[0017] 图1为本发明实施例提供的一种快速抓拍系统的示意图。
[0018] 图2为本发明实施例提供的一种快速抓拍装置的结构示意图。
[0019] 图3为本发明实施例提供的网络摄像机的结构示意图。
[0020] 图4为本发明实施例提供的一种快速抓拍的方法的示意图。
[0021] 图5为本发明实施例提供的一种计算目标与立体视觉相机距离和角度的示意图。
[0022] 图6为本发明实施例提供的一种目标坐标转换的示意图。
[0023] 图7为本发明实施例提供的一种计算景深的方法的示意图。
具体实施方式
[0024] 下面将结合附图,对本发明实施例中的技术方案进行描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0025] 如图1所示,为本发明实施例提供的一种快速抓拍的系统100,包括第一相机和第二相机,其中,第一相机为立体视觉相机110,第二相机为PTZ(Pan/Tilt/Zoom)相机120。
[0026] 该系统中的立体视觉相机110装配有两个镜头,能够模拟人类视觉原理,从两个不同的角度同时获取当前场景的两幅图像,利用两幅图像拍摄角度的差异,根据图像之间
像素的匹配关系,计算出图像中的目标与立体视觉相机之间的实际距离与角度,进而计算出目标在立体视觉相机110
坐标系中的坐标。本发明实施例中的立体视觉相机110指能够用来同时从不同镜头获取当前场景图像的相机或相机组,这个名字本身对设备不构成限定,也可以为其他名字,如:双目立体视觉相机、双目相机、双目测距相机或立体视觉测距相机等。实际中,可以利用两个普通的摄像机来组成一组立体视觉相机,也可以将两个普通相机镜头集成在一个设备上组成立体视觉相机。
[0027] 本发明实施例中的快速抓拍系统100中还可以包括多组立体视觉相机,以扩大监测范围。下面仅以一组立体视觉相机的情况来说明本发明技术方案,多组立体视觉相机的情形可以参照一组立体视觉相机下的技术方案。
[0028] 本发明实施例中的快速抓拍系统100中的PTZ相机120装配有
云台,能够实现全方位(左右/上下)移动及镜头变倍、变焦控制,用于根据目标与立体视觉相机之间的距离和角度,得到PTZ相机120抓拍该目标的拍摄参数,包括拍摄焦距与拍摄角度,并按照得到的参数调整PTZ相机120之后抓拍目标的图像。
[0029] 上述快速抓拍系统100工作时,立体视觉相机110同时从两个镜头获取当前的监测画面,当前监测画面包含第一画面和第二画面,所述第一画面和所述第二画面分别为所述立体视觉相机110的第一镜头和第二镜头在同一时刻拍摄的画面。立体视觉相机110检测当前画面中的目标,并在检测到目标之后计算该目标与立体视觉相机110的距离和角度。若检测到多个目标,则分别计算各个目标与立体视觉相机110的距离和角度。接着,立体视觉相机110将目标与立体视觉相机110的距离和角度发送给PTZ相机120。PTZ相机120接收到立体视觉相机110发送的距离和角度之后,根据目标与立体视觉相机110的距离和角度,计算得到PTZ相机120抓拍目标的拍摄参数。得到拍摄参数之后,PTZ相机120根据拍摄参数调整PTZ相机120的角度及PTZ相机120镜头的焦距。完成调整之后,PTZ相机120抓拍目标的图像。
[0030] 在需要更加精确地抓拍目标的图像的情况下,立体视觉相机110还可以计算目标的对应的距离估算误差并发送给PTZ相机120,PTZ相机120还可以计算目标与PTZ相机120的物距对应的景深。PTZ相机120在调整前比较目标的距离估算误差和物距处的景深,若景深大于等于距离估算误差,直接按照拍摄参数调整PTZ相机120并抓拍目标;若景深小于距离估算误差,则按照拍摄参数调整PTZ相机120之后继续控制PTZ相机120自动对焦。
[0031] 在某些情况下,有可能在立体视觉相机110的当前监测画面中检测到多个目标,立体视觉相机110分别计算各个目标与立体视觉相机110的距离和角度,PTZ相机120根据各个目标与立体视觉相机110的距离和角度分别获得各个目标对应的PTZ相机120的拍摄参数,并根据优先级确定多个目标的抓拍顺序,按照确定的抓拍顺序分别调整PTZ相机120抓拍多个目标的图像,确定优先级所依据的参数包括目标所在的方位、角度、距离、运行轨迹或是否即将离开监控区域等。
[0032] 上述实施例中的快速抓拍系统是将立体视觉相机110和PTZ相机120分离设置,两者独立完成相应的运算和控制功能。立体视觉相机110和PTZ相机120之间可以通过有线或无线形式连接,实现两设备之间的信息交互。需要说明的是,立体视觉相机110中的计算操作,如检测目标和计算目标与立体视觉相机110之间的距离和角度等,也可以由PTZ相机120执行,本领域技术人员可以对本实施例中的快速抓拍系统做出上述改动,这样的改动应当被视为属于本发明的
权利要求及其等同技术的范围之内。
[0033] 图2示出了本发明实施例提供的快速抓拍装置的一种可能的结构示意图,该装置包括:第一相机210、处理器220、
存储器230、第二相机240和至少一个通信总线250,其中第一相机210可以为立体视觉相机210,第二相机240可以为PTZ相机240。
[0034] 处理器220可以是一个通用
中央处理器CPU,
微处理器,ASIC,或一个或多个用于控制本发明方案程序执行的集成
电路。处理器220也可以采用FPGA或DSP来实现。
[0035] 存储器230,可以是易失性存储器(volatile memory),例如
随机存取存储器(random-access memory,RAM);或者
非易失性存储器(non-volatile memory),
硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SDD);或者上述种类的存储器的组合,并向处理器提供指令和数据。
[0036] 总线250可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线850可以分为
地址总线、
数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0037] 立体视觉相机210包括两个镜头,用于同时从两个镜头获取当前的监测画面,当前监测画面包含第一画面和第二画面,第一画面和第二画面分别为立体视觉相机210的两个镜头在同一时刻拍摄的画面。
[0038] 处理器220检测立体视觉相机210当前监测画面中的目标,并计算目标与立体视觉相机210的距离和角度,根据目标与立体视觉相机210的距离和角度计算PTZ相机240对应的拍摄参数,拍摄参数包括拍摄角度和镜头焦距。处理器220在得到PTZ相机240抓拍目标所需要的拍摄参数之后,根据拍摄参数生成相应的控制
信号,控制PTZ相机240调整拍摄角度和镜头焦距。
[0039] PTZ相机240可以上下左右转动,能够根据拍摄参数中的拍摄角度旋转到相应角度,PTZ相机240的焦距是可变的,处理器220可以控制PTZ相机240调整镜头焦距并抓拍目标的图像。PTZ相机240还能自动对焦,可以根据处理器220发送的自动对焦的命令完成自动对焦过程。
[0040] 在一种可能的实现方式中,处理器220还用于根据目标与立体视觉相机210的距离计算对应的距离估算误差,根据目标与PTZ相机240的物距以及镜头焦距计算PTZ相机240在该物距对应的景深,处理器220比较距离估算误差与景深的大小关系,若距离估算误差小于等于景深,处理器220按照拍摄参数控制PTZ相机240调整并抓拍目标的图像;若距离估算误差大于景深,处理器220按照拍摄参数控制抓拍相机240调整之后,再控制PTZ相机240自动调整镜头焦距。
[0041] 在某些可能的情况下,若处理器220检测到多个目标,根据优先级确定多个目标的抓拍顺序,按照确定的抓拍顺序控制PTZ相机240抓拍多个目标的图像,其中,确定优先级所依据的参数包括目标所在的方位、角度、距离、运行轨迹或是否即将离开监控区域等。
[0042] 可选地,快速抓拍装置200还可以包括通信
接口260,
通信接口260用于将抓拍的目标的图像传输给外部装置。
[0043] 上述实施例中的快速抓拍装置200是将立体视觉相机210、处理器220和PTZ相机240三者作为一个整体的装置,作为快速抓拍装置200的三部件可以分离设置而通过有线或无线形式连接以实现部件之间的通信,也可以将三部件合并设置,还可以使用一个设备来实现处理器220与存储器230的功能。快速抓拍装置200中的立体视觉相机210和PTZ相机240主要用于获取目标图像,处理器220则用于执行计算和控制操作。需要说明的是,根据实际需要,处理器220的部分计算或控制功能可以由立体视觉相机210或PTZ相机240实现,本领域技术人员可以对本实施例中的快速抓拍系统做出上述改动,这样的改动应当被视为属于本发明的权利要求及其等同技术的范围之内。
[0044] 如图3所示,为上述快速抓拍系统100及快速抓拍装置200中的第一相机和第二相机通用的网络摄像机300的结构。网络摄像机300包括了上述实施例中的第一相机和第一相机共有的结构,为了便于理解,不再描述网络摄像机300与本发明无关的标准特征。网络摄像机300包括作为网络摄像机300前端部件的镜头310,镜头310有固定光圈、自动光圈、自动变焦、自动变倍等种类;用于记录入射光的图像
传感器320,例如互补金属
氧化物
半导体(Complementary Metal Oxide Semiconductor,CMOS)、电荷
耦合器件(Charge-coupled Device,CCD)或相似器件;
图像处理器330;用于执行计算操作和控制摄像机的处理器340;用于存储程序或数据的存储器350;用于各部件传递信息的通信总线360以及用于通过通信网络向连接至该网络的其他
节点传递信息的通信接口370。
[0045] 图像传感器320接收与所记录的光有关的信息,并借助A/D转换器和
信号处理器331对该信息进行处理,其中A/D转换器和信号处理器331是技术人员公知的。在一些实施例中,例如当图像传感器320是CMOS传感器时,图像传感器320包括A/D转换器,因此图像处理器330中不需要任何A/D转换器。由A/D转换器和信号处理器331产生的结果是数字图像数据,根据一个实施例,该数字图像数据在被发送到处理器340之前,在缩放单元332和图像
编码器333中被处理。缩放单元332用于将该数字图像
数据处理为至少一个特定大小的图像。
然而,缩放单元332可以被布置为生成多个不同大小的图像,所有图像均表示由A/D转换器和信号处理器331提供的同一图像/
帧。根据另一实施例,缩放单元332的功能由图像编码器
333来执行,在再一实施例中,不需要对来自图像传感器320的图像执行任何缩放或大小调整。
[0046] 编码器333对于执行本发明来说是可选的,被布置为针对连续的视频序列、针对有限的视频序列、针对静态图像或针对图像/
视频流将该数字图像数据编码为多种已知格式中的任意一种。举例来说,可以将图像信息编码为MPEG1、MPEG2、MPEG4、JEPG、MJPG、位映像等。处理器340可以使用未经编码的图像作为输入数据。在这种情况下,图像数据从信号处理器331或从缩放单元332传输到处理器340,而不通过图像编码器333传递该图像数据。未经编码的图像可以采用任何未经编码的图像格式,例如BMP、PNG、PPM、PGM、PNM和PBM,尽管处理器340也可以使用经过编码的数据作为输入数据。
[0047] 在本发明的一个实施例中,可以将图像数据从信号处理器331直接发送至处理器340,而不通过缩放单元332或图像编码器333。在再一实施例中,可以将图像数据从缩放单元332发送至处理器340,而不通过图像编码器333。
[0048] 处理器340可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。处理器340也可以采用现场可编程
门阵列(Field Programmable Gate Array,FPGA)或DSP来实现。在采用基于DSP的软件编码压缩时,也可以将图像处理器330中的部分功能集成在处理器340上。处理器340用于管理和控制网络摄像机300。
[0049] 存储器350用于存储执行本发明方案的应用程序代码,可以是
只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器350可以是独立存在,通过总线360与处理器340相连接。存储器350也可以和处理器340集成在一起。
[0050] 通信总线360可包括一通路,在各组件之间传送信息。
[0051] 通信接口370使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
[0052] 上述实施例中的立体视觉相机在通用摄像机300的
基础上设置了多个镜头,以实现从多个镜头获得当前检测的画面;上述实施例中的PTZ相机在通用摄像机300的基础上设置了云台,以实现全方位(左右/上下)移动,调整PTZ相机的拍摄角度。
[0053] 以下将结合附图,对本发明实施例提供的快速抓拍系统和方法做进一步说明。
[0054] 如图4所示,为本发明实施例提供的一种快速抓拍的方法,该方法在抓拍目标时,采用立体视觉相机协助抓拍相机调焦,解决了现有抓拍技术中对焦时间过长的问题。本发明实施例提供的快速抓拍方法可应用于图1中的快速抓拍系统100以及图2中的快速抓拍装置200上,用于对大场景中的快速移动的目标的抓拍,下面结合图1来阐述本发明实施例提供的方法的具体实现。本发明实施例提供的快速抓拍方法包括以下步骤:
[0055] 410,检测第一相机当前画面中的目标,计算目标与第一相机的距离和角度。
[0056] 其中,第一相机可以为立体视觉相机110,其监测的当前画面包含第一画面和第二画面,所述第一画面和所述第二画面分别为所述立体视觉相机110的第一镜头和第二镜头在同一时刻拍摄的画面。可以检测出画面中的目标,并根据目标在不同的画面中的视觉差,计算出目标与立体视觉相机210的距离和角度。
[0057] 420,根据目标与第一相机的距离和角度计算第二相机的拍摄参数。
[0058] 在快速抓拍系统中,第二相机为PTZ相机110。在得到了目标与立体视觉相机110的距离和角度之后,可以根据立体视觉相机110与PTZ相机120的位置关系得到目标与PTZ相机120的物距和角度,进而获得PTZ相机120抓拍目标的拍摄参数,其中,拍摄参数包括拍摄角度和镜头焦距。
[0059] 430,按照拍摄参数调整第二相机的拍摄角度和镜头焦距再抓拍目标。
[0060] 拍摄角度和镜头焦距是PTZ相机120抓拍目标最重要的两个参数,根据上述步骤得到PTZ相机120的拍摄角度和镜头焦距,可以控制PTZ相机120的云台转动到对应的角度,并控制PTZ相机120的镜头变焦,将镜头焦距调整到对应的值,再抓拍目标。
[0061] 通过以上步骤,实现了PTZ相机120不需要自动对焦而完成对目标的抓拍,避免了长时间的自动对焦过程,提高了抓拍效率,使抓拍更为及时,图像更为清晰。
[0062] 下面结合附图,进一步说明以上步骤的具体实现方法。
[0063] 如图5所示,为本发明实施例提供了一种计算目标与立体视觉相机110的距离的方法。其中Ol、Or分别为立体视觉相机110的左右相机的靶面中心位置,目标点P分别在左右相机的靶面成像到Pl、Pr点,光路从目标点经镜头平面的中心到靶面成像点,按照相似三角形原理,可以得到:
[0064] (B+(xl-xr))/D=B/(Z-f)
[0065] 简化后得到:
[0066] D=(f×(B+xl-xr))/(xl-xr)
[0067] 其中,B为基线距离,即左右相机之间的距离;f为立体视觉相机焦距;xl为目标在左侧成像点与左侧相机中心点的
水平距离;xr为目标在右侧相机成像点与右侧相机中心点的水平距离;D为目标与立体视觉相机的距离。
[0068] 目标与左侧相机的角度关系、目标与右侧相机的角度关系以及目标与立体视觉相机中心线的角度,则在目标距离计算的基础上按照三角函数计算公式即可算出。
[0069] 但立体测距技术测得的距离并不是绝对准确的,测得的距离具有一定的误差,该误差为距离估算误差,误差范围与立体视觉相机的镜头参数、感光器的像素大小以及两个镜头的间距相关。距离估算误差随着目标距离的增加而增加,与距离的平方成正比关系。Thomas·Luhmann在《Close-Range Photogrammetry and 3D Imaging》(2014)一书中给出了一种距离估算误差的计算方法。此外,还可以通过多次测量,得到距离估算误差与距离的平方之间的系数,进而得到测得的目标的距离与距离估算误差的关系。
[0070] 采用立体测距技术测量目标距离的计算方法有多种,上述计算方法仅是本发明一个实施例采用的一种计算方法,并不对本发明的保护范围起到限定作用,无论采用何种具体的距离计算方法,只要能实现通过立体测距技术测量目标的距离和角度的功能,则均在本发明保护范围之内。
[0071] 在获得了目标与立体视觉相机110的距离和角度,可以通过多种方式得到步骤420中的目标与PTZ相机120的物距以及PTZ相机120的拍摄参数。
[0072] 在一种实现方式中,可以直接将立体视觉相机110与目标的距离设置为目标与PTZ相机120的物距,将立体视觉相机110与目标的角度设置为PTZ相机120的拍摄角度,根据目标与PTZ相机120的物距得到PTZ相机120的拍摄焦距。由于本发明实施例中的快速抓拍系统100通常用来拍摄较远距离的目标,目标与快速抓拍系统100之间的距离远大于立体视觉相机110镜头与PTZ相机120镜头之间的距离,在对拍摄精度要求不高的情况下,可以认为目标与立体视觉相机110的距离和角度跟目标与PTZ相机120的物距和角度相等。此外,立体视觉相机110一般包含两个镜头,在建立坐标系时通常以两个镜头的中心位置为原点,如果PTZ相机120位于立体视觉相机110两个镜头的中心位置,则立体视觉相机110坐标系与PTZ相机
120坐标系重合,此时目标与立体视觉相机110的距离和角度跟目标与PTZ相机120的物距和角度相等。
[0073] 在另一种实现方式中,需要考虑立体视觉相机110与PTZ相机120之间的空间位置差,根据该空间位置差以及目标与立体视觉相机110的距离和角度计算目标与PTZ相机120的物距和角度,并将该角度设置为PTZ相机120的拍摄角度,再根据目标与PTZ相机120的物距得到PTZ相机120的拍摄焦距。
[0074] 对于立体视觉相机110与PTZ相机120存在空间位置差的,可以通过三维坐标转换得到目标在PTZ相机120中的坐标。
[0075] 如图6所示,为本发明实施例提供的一种实现立体视觉相机与PTZ相机之间坐标转换的方式,其中坐标O为PTZ相机坐标系的坐标原点,坐标O'为立体视觉相机坐标系的坐标原点,这两个坐标系中各点的关系如下式所示:
[0076]
[0077] 其中,λ为两个坐标系间的尺度比例因素,ΔX、ΔY和ΔZ为PTZ相机坐标系坐标原点与立体视觉相机坐标系坐标原点之间的位置差,R为坐标转换时的旋转矩阵,用于实现将立体视觉相机的坐标系各坐标轴旋转到PTZ相机的坐标系对应的坐标轴。
[0078] R=R(εY)R(εYX)R(εYZ)
[0079] 展开为:
[0080]
[0081] 由上式可以得到目标在PTZ相机120坐标系中的坐标,进而得到目标的物距以及与PTZ相机120的角度。
[0082] 在得到目标与PTZ相机120的物距之后,可以有多种方式得到PTZ相机120的镜头焦距。具体地,作为一种实现方式,可以通过预先存储物距与镜头焦距的对照表,计算得到目标的物距之后,查询对照表以得到PTZ相机120的拍摄焦距。
[0083] 更进一步,可以预先存储目标与立体视觉相机110之间的距离和角度跟PTZ相机120的拍摄参数的对照表,根据目标与立体视觉相机110之间的距离和角度查询上述预先存储的对照表获得对应的拍摄参数。
[0084] 可选地,在步骤430中调整PTZ相机120之前还可以计算PTZ相机120在目标处的景深,并比较景深与距离估算误差的大小关系以决定如何调整PTZ相机120。
[0085] 图7为本发明实施例提出的一种计算景深的方法示意图。
[0086] 其中:δ为容许弥散圆直径,f为镜头焦距,F为镜头的拍摄光圈值,L为对焦镜头,ΔL1为前景深,ΔL2为后景深,ΔL为景深,景深的计算公式为:
[0087]
[0088] 在一定的应用场景下,相机的光圈F及弥散圆直径δ都为确定值,从公式可以看出,在物距小到一定值后,景深将会无穷大,并且景深随着物距增大而减小。
[0089] 比较PTZ相机120在目标处的景深与目标的距离估算误差,若景深大于等于距离估算误差,则此时景深能够覆盖目标的距离估算误差范围,即使距离计算存在一定误差,但也在景深范围内,能够拍摄到清晰的图像,可以直接按照前述拍摄参数调整PTZ相机120并抓拍目标;若景深小于距离估算误差,则此时景深无法全部覆盖目标的距离估算误差范围,很可能无法拍摄到目标清晰的图像,因此,按照前述拍摄参数调整PTZ相机120之后还需要进行辅助自动对焦再抓拍目标。
[0090] 在具体实现中,作为一种实施例,若在立体视觉相机110的监测画面中检测到多个目标,分别计算各个目标与立体视觉相机110的距离和角度,并根据各个目标与立体视觉相机110的距离和角度分别获得各个目标对应的PTZ相机120的拍摄参数,根据优先级确定多个目标的抓拍顺序,按照确定的抓拍顺序分别调整PTZ相机120抓拍多个目标的图像,确定优先级所依据的参数包括目标所在的方位、角度、距离、运行轨迹或是否即将离开监控区域等。上述列举为非穷尽式,还可以包括其他参数。需要明确的是,上述参数并非都是必须的,可以根据实际应用场景选取若干个参数作为优先级的考量因素。
[0091] 上述方法实施例是结合图1中的快速抓拍系统100来阐述,在图2中的快速抓拍装置200中实现上述方法实施例的具体步骤与上述记载类似,本领域技术人员应当清楚地理解,在此不再赘述。
[0092] 本发明实施例还提供一种计算机可读存储介质,用于存储为上述快速抓拍装置和/或系统所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序代码。通过执行存储的程序代码,可以实现通过立体视觉技术快速测量目标的距离和角度,进而获得抓拍图像的拍摄参数,快速调整PTZ相机,完成对目标的抓拍,能够缩短抓拍时间,保证抓拍的实时性。
[0093] 本发明实施例还提供了
计算机程序产品。该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述方法实施例中的方法。
[0094] 尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的
从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0095] 本领域技术人员应明白,本申请的实施例可提供为方法、装置(系统)、或计算机程序产品。因此,本申请可采用完全
硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模
块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
[0096] 本申请是参照本发明实施例的方法、装置(设备)和计算机程序产品的
流程图和/或方
框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中
指定的功能的装置。
[0097] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0098] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0099] 尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种
修改和组合。相应地,本
说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。