CN112819904B - 一种用于标定ptz摄像机的方法与设备 - Google Patents
一种用于标定ptz摄像机的方法与设备 Download PDFInfo
- Publication number
- CN112819904B CN112819904B CN202110274076.3A CN202110274076A CN112819904B CN 112819904 B CN112819904 B CN 112819904B CN 202110274076 A CN202110274076 A CN 202110274076A CN 112819904 B CN112819904 B CN 112819904B
- Authority
- CN
- China
- Prior art keywords
- matching
- images
- points
- key matrix
- groups
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
本申请的目的是提供一种用于标定ptz摄像机的方法与设备,该方法包括:获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件。
Description
技术领域
本申请涉及通信领域,尤其涉及一种用于标定ptz摄像机的技术。
背景技术
在现有技术中,目前相机标定的方法一般是使用标定物采集离线数据进行预先标定的方法,该方法能够获得较为精确的结果,但是需要标定物并且算法复杂。而ptz摄像机一般安装在室外场合,比如高楼的外墙或者路口的柱子上等,如果ptz摄像机在安装前未利用标定物进行标定,在这种场合下再利用标定物进行标定的话会非常麻烦。
发明内容
本申请的一个目的是提供一种用于标定ptz摄像机的方法与设备。
根据本申请的一个方面,提供了一种用于标定ptz摄像机的方法,该方法包括:
获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;
对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;
根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
根据本申请的一个方面,提供了一种用于标定ptz摄像机的第一设备,该设备包括:
一一模块,用于获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;
一二模块,用于对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;
一三模块,用于根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
根据本申请的一个方面,提供了一种用于标定ptz摄像机的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;
对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;
根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
根据本申请的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得***进行如下操作:
获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;
对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;
根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
根据本申请的一个方面,提供了一种计算机程序产品,包括计算机程序,当所述计算机程序被处理器执行时,执行如下方法:
获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;
对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;
根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
与现有技术相比,本申请通过获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点,根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,充分利用了ptz摄像机绕固定轴旋转并可以获取旋转信息这一特点,能够提升标定的鲁棒性,标定精度较高,且标定步骤不需要标定板,能够自动标定,较为简单,可以明显提高标定效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种用于标定ptz摄像机的方法流程图;
图2示出根据本申请一个实施例的一种用于标定ptz摄像机的第一设备结构图;
图3示出可被用于实施本申请中所述的各个实施例的示例性***;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(ProgrammableRandom Access Memory,PRAM)、静态随机存取存储器(StaticRandom-Access Memory,SRAM)、动态随机存取存储器 (Dynamic Random Access Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc ,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作***,如Android操作***、iOS操作***等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出根据本申请一个实施例的一种用于标定ptz摄像机的方法流程图,该方法包括步骤S11、步骤S12和步骤S13。在步骤S11中,第一设备获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;在步骤S12中,第一设备对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;在步骤S13中,第一设备根据所述每两张图像对应的匹配内点组、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
在步骤S11中,第一设备获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域。在一些实施例中,第一设备可以是用户设备,也可以是网络设备。在一些实施例中,ptz摄像机是一种能远程控制全方位移动及变焦的摄像机,ptz摄像机中的“p”是“Pan”的简写,代表摄像机的左右移动,“t”是“Tilt”的简写,代表摄像机的上下移动,“z”是“Zoom”的简写,代表摄像机的变焦控制。在一些实施例中,不同角度可以仅仅是Pan不同,也可以仅仅是Tilt不同,还可以是Pan与Tilt均不同。在一些实施例中,由于ptz摄像机具有绕固定轴旋转并可以获取旋转信息这一特点,可以获得每张图像对应的拍摄角度信息,即ptz摄像机在拍摄该张图像时的当前Pan旋转角度及当前Tilt旋转角度。在一些实施例中,每两张图像之间均存在重叠区域是指每两张图像之间均存在重叠的像素区域。在一些实施例中,至少需要获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的两张图像,增加图像数量能够提升标定的鲁棒性和精度,但是图像过多会影响标定速度,一般情况下使用10张以内的图像。
在步骤S12中,第一设备对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点。在一些实施例中,对采集到的多张图像两两之间进行特征点匹配,使用特征点匹配算法对每两张图像之间的特征点进行匹配,得到每两张图像对应的多组匹配点,例如,设采集的图像数量为N,则N个图像之间进行两两匹配得到的总的图像匹配组数为N*(N-1)/2,例如,图像Image1与图像Image2构成一个图像匹配组,图像Image1与图像Image3构成一个图像匹配组,图像Image2与图像Image3构成一个图像匹配组。在一些实施例中,这里需要注意的是,匹配点是成组存在的,例如,图像Image1中的特征点P1与图像Image2中的特征点P2相匹配,则特征点P1、特征点P2构成图像Image1与图像Image2所对应的一组匹配点(P1,P2)。在一些实施例中,特征点匹配算法包括但不限于SIFT(Scale-invariant feature transform,尺度不变特征变换)、SURF(Speeded Up RobustFeatures,加速稳健特征)、ORB(Oriented Fast and Rotated Brief)等特征点匹配算法。本领域技术人员应能理解上述特征点匹配算法仅为举例,其他现有的或今后可能出现的特征点匹配算法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S13中,第一设备根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。在一些实施例中,根据每张图像对应的拍摄角度信息(Pan旋转角度、Tilt旋转角度),可以确定该张图像对应的世界坐标系到相机坐标系的旋转矩阵。在一些实施例中,由于ptz摄像机的Pan、Tilt旋转可以认为是没有产生位移的纯旋转过程,因此每两张图像对应的多组匹配点、该两张图像分别对应的旋转矩阵、ptz摄像机的相机内参满足如下公式:p’= K*R’*R-1*K-1*p,p和p’为两张图像之间的多组匹配点,R和R’分别是这两张图像对应的世界坐标系到相机坐标系的旋转矩阵,K代表ptz摄像机的相机内参。在一些实施例中,在计算机视觉中,为确定三维空间中某点与其在图像中的对应像素点之间的相互关系,需要建立相机成像模型,这些模型的参数就是相机内参,相机内参包括相机焦距(fx,fy)和相机主点坐标(cx和cy),求解这些参数的过程就是相机标定。在一些实施例中,R表示如下:
其中,fx和fy代表相机焦距,cx和cy代表相机主点坐标,α代表tilt旋转角度,β代表pan旋转角度,在上述公式中仅相机内参为未知量,构建采集到的多张图像对应的重投影误差公式如下:
其中,M为该多张图像之间进行两两匹配得到的总的图像匹配组数,n^(m)为第m组图像匹配组中的两张图像对应的匹配点的组数,p_i^'(m)和p_i^(m)是第m组图像匹配组中的两张图像对应的多组匹配点中的第i组匹配点,R^(m)和R^'(m)分别是第m组图像匹配组中的两张图像分别对应的世界坐标系到相机坐标系的旋转矩阵,K^代表对ptz摄像机的相机内参K的估计初始值,通过非线性优化算法对相机内参K的估计初始值进行优化,求出目标K使得该多张图像对应的重投影误差满足第一预定误差条件,该目标K就是ptz摄像机的内参标定值,其中,第一预定误差条件可以是重投影误差达到极小值,也可以是重投影误差小于或等于预定的误差阈值。在一些实施例中,该多张图像对应的重投影误差公式得到的是该多张图像之间进行两两匹配得到的每一个图像匹配组中的两张图像对应的所有匹配点的总投影误差,K矩阵的初始值是相机内参的估计初始值,然后通过非线性优化算法优化K矩阵,使得所有匹配点的总投影误差达到极小值,此时的当前K矩阵就是ptz摄像机的内参标定值。在一些实施例中,非线性优化算法包括但不限于LM(Levenberg-Marquard,莱文贝格-马夸特)算法、高斯牛顿算法、梯度下降算法,在这里,对非线性优化算法进行简单描述,对于一个如下的最小二乘问题:
如果f是形式上很简单的函数,则可以令目标函数的导数为0,求x的最优值。但是对于不方便直接求解的最小二乘问题,可以使用迭代的方法,从一个初始值出发,不断更新当前的优化变量,使目标函数下降。具体步骤如下:
1.给定初始值x0。
2.对于第k次迭代,寻找一个增量Δxk,使得||f(xk+Δxk)||2达到极小值。
3. 若Δxk足够小,则停止。
4.否则,令xk+1=xk+Δxk,返回第二步。
这就让求解导数为0的问题变为了一个不断寻找梯度并下降的过程。直到某刻增量非常小,无法再使函数下降。此时算法收敛,目标达到极小值。非线性优化算法就是确定增量Δx并使用上述步骤使目标函数达到极小值的方法。本领域技术人员应能理解上述非线性优化算法仅为举例,其他现有的或今后可能出现的非线性优化算法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在一些实施例中,相机内参的估计初始值可以是随机确定的,然而,非线性优化算法的速度和最终结果与相机内参的初始估计值直接相关,初始估计值与最终估计值相差太大会使优化速度减慢甚至落入局部最优解,因此,对于相机内参初始值的估计也是影响标定结果的重要因素。在一些实施例中,为了获得较为准确的标定结果,相机内参的初始估计值也可以根据经验值进行设置,例如,根据经验设置为特定的值,或者,还可以根据该多张图像对应的尺寸信息来确定,例如,假设图像宽度为width,图像高度为height,则可以确定相机内参的估计初始值如下:
或者,还可以通过任何现有技术中相机内参的预估方法来确定相机内参的估计初始值,然后再通过非线性优化算法进行优化。这里,相机内参可以是相机的全部内参,也可以是相机的部分内参。在一些实施例中,相机内参的估计初始值可以由一种或多种方法共同确定,如相机焦距通过经验值确定,相机主点通过图像对应的尺寸信息确定,这里不进行限定。本领域技术人员应能理解上述相机内参的估计初始值的确定方法仅为举例,其他现有的或今后可能出现的相机内参的估计初始值的确定方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在一些实施例中,本申请充分利用了ptz摄像机绕固定轴旋转并可以获取旋转信息这一特点,能够提升标定的鲁棒性,标定精度较高,标定精度并不依赖于关键矩阵(例如,单应性矩阵)的精度,且标定步骤不需要标定板,能够自动标定,较为简单,可以明显提高标定效率。
在一些实施例中,所述方法还包括在所述步骤S12之后执行步骤S14(未示出)。在步骤S14中,第一设备对于所述每两张图像,对该两张图像对应的多组匹配点进行误匹配剔除操作,从所述多组匹配点中获得该两张图像对应的匹配内点组;其中,所述S13包括:第一设备根据所述每两张图像对应的匹配内点组、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。在一些实施例中,由于图像特征点通常只能反映该点周围局部的特征信息,而图像直接相似的局部区域会比较多,误匹配的情况是普遍存在的,因此需要对每两张图像对应的多组匹配点进行误匹配剔除操作,剔除该多组匹配点中误匹配的一组或多组匹配点,将不属于误匹配的匹配点称之为匹配内点,从该多组匹配点中获得多组匹配内点,该多组匹配内点构成该两张图像对应的匹配内点组,然后后续仅根据每两张图像对应的匹配内点组来构建该多张图像对应的重投影误差公式,而不是根据每两张图像对应的所有匹配点来构建该多张图像对应的重投影误差公式。在一些实施例中,误匹配剔除操作的具体实施方式可以是对于每两张图像,获得用于描述该两张图像对应的多组匹配点中的至少一组匹配点之间对应关系的目标关键矩阵,并从该多组匹配点中获得该目标关键矩阵对应的多组匹配内点,该多组匹配内点构成该两张图像对应的匹配内点组,其中,该目标关键矩阵对应的每一组匹配内点相对于该目标关键矩阵的重投影误差均小于或等于第一预定误差阈值。在一些实施例中,误匹配剔除操作的具体实施方式还可以是通过交叉匹配过滤的方法对误匹配进行一定程度的剔除。这种技术的思想是用查询集来匹配训练描述符,反之亦然。只返回在这两个匹配中同时出现的匹配。当有足够多的匹配时,这种技术在离群值数目极少的情况下通常会产生最佳效果。在一些实施例中,误匹配剔除操作的具体实施方式还可以是比率测试方法,可用KNN匹配,最初的K为2,即对每个匹配返回两个最近邻描述符。然后计算最接近距离和次接近距离之间的比值,仅当第一个匹配与第二个匹配之间的距离比率足够大时(比率的阈值通常为2左右),才认为这是一个匹配。本领域技术人员应能理解上述误匹配剔除操作仅为举例,其他现有的或今后可能出现的误匹配剔除操作如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述步骤S14包括步骤S141(未示出)。在步骤S141中,第一设备对于所述每两张图像,获得用于描述该两张图像对应的多组匹配点中的至少一组匹配点之间对应关系的目标关键矩阵,并从所述多组匹配点中获得所述目标关键矩阵对应的匹配内点,根据所述匹配内点确定该两张图像对应的匹配内点组,其中,所述目标关键矩阵对应的匹配内点相对于所述目标关键矩阵的重投影误差小于或等于第一预定误差阈值。在一些实施例中,至少一组匹配点可以是该多组匹配点中的全部匹配点,也可是仅是该多组匹配点中的部分匹配点,关键矩阵用于描述该至少一组匹配点之间的对应关系,例如,令p和p’为两张图像对应的多组匹配点中的至少一组匹配点中的任意一组匹配点,则该任意一组匹配点与关键矩阵H满足p’=H*p。在一些实施例中,由于ptz摄像机的Pan、Tile旋转可以认为是没有产生位移的纯旋转过程,因此该关键矩阵H可以为单应性矩阵。在一些实施例中,该关键矩阵H还可以是基础矩阵。在一些实施例中,若该关键矩阵H为单应性矩阵,由p’=H*p展开得到如下:
其中,p’=[x’ y’1]T,p=[xy 1]T,9个未知数,需要9个方程来求解,因此需要从该两张图像对应的所有匹配点中选取至少5组匹配点,一组匹配点提供两个方程,总共10个方程,然后可以通过使用最小二乘法求解得到目标关键矩阵,并从该两张图像对应的所有匹配点中获得目标关键矩阵对应的多组匹配内点并将其确定为该两张图像对应的匹配内点组,该两张图像对应的所有匹配点中除该匹配内点组以外的其他匹配点均是需要被误匹配过滤掉的外点。在一些实施例中,对于每两张图像中的一组匹配点,其相对于目标关键矩阵的重投影误差如下:
其中,(xi,yi)与(xi ’,yi ’)是该两张图像对应的第i组匹配点的像素坐标,如果重投影误差小于或等于第一预定误差阈值,则把该组匹配点视为目标关键矩阵对应的匹配内点,否则视为外点,对所有匹配点进行内点检查,得到目标关键矩阵对应的多组匹配内点并将其确定为该两张图像对应的匹配内点组。在一些实施例中,对于每个图像匹配组,利用上述方法获得该图像匹配组中的两张图像对应的目标关键矩阵及该目标关键矩阵对应的多组匹配内点,并将该多组匹配内点作为该两张图像对应的匹配内点组。在一些实施例中,每两张图像对应一个目标关键矩阵,不同的两张图像对应的目标关键矩阵不同。
在一些实施例中,所述步骤S141包括:对于所述每两张图像,从该两张图像对应的多组匹配点中随机选取预定数量的匹配点,获得用于描述所述预定数量的匹配点之间对应关系的一个关键矩阵,并从所述多组匹配点中获得该一个关键矩阵对应的匹配内点,然后获得用于描述该一个关键矩阵对应的匹配内点之间对应关系的另一个关键矩阵,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,其中,该一个关键矩阵对应的匹配内点相对于该一个关键矩阵的重投影误差小于或等于第一预定误差阈值。在一些实施例中,对于每两张图像,先从该两张图像对应的所有匹配点中随机选取预定数量的匹配点,然后获得用于描述随机选取的这些匹配点之间对应关系的一个关键矩阵,并从所有匹配点中获得该一个关键矩阵对应的多组匹配内点,然后再获得用于描述该多组匹配内点之间对应关系的另一个关键矩阵,此时,该另一个关键矩阵对应的匹配内点与该一个关键矩阵的匹配内点相同,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵,并将该目标关键矩阵对应的多组匹配内点作为该两张图像对应的匹配内点组。在一些实施例中,预定数量条件可以是将匹配内点数量最多的关键矩阵作为目标关键矩阵。
在一些实施例中,所述步骤S141包括:对于所述每两张图像,从该两张图像对应的多组匹配点中随机选取预定数量的匹配点,获得用于描述所述预定数量的匹配点之间对应关系的一个关键矩阵,并从所述多组匹配点中获得该一个关键矩阵对应的匹配内点;重新从所述多组匹配点中随机选取所述预定数量的匹配点,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,其中,该一个关键矩阵对应的匹配内点相对于该一个关键矩阵的重投影误差小于或等于第一预定误差阈值。在一些实施例中,对于每两张图像,先从该两张图像对应的所有匹配点中随机选取预定数量的匹配点,然后获得用于描述随机选取的这些匹配点之间对应关系的一个关键矩阵,并从所有匹配点中获得该一个关键矩阵对应的多组匹配内点,然后再重新从所有匹配点中随机选取预定数量的匹配点,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定的数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵,并将该目标关键矩阵对应的多组匹配内点作为该两张图像对应的匹配内点组。在一些实施例中,预定数量条件可以是将匹配内点数量最多的关键矩阵作为目标关键矩阵。
在一些实施例中,所述预定数量至少为4或5。在一些实施例中,若该关键矩阵H为单应性矩阵,由p’=H*p展开得到如下:
其中,p’=[x’ y’1]T,p=[xy 1]T,9个未知数,需要9个方程来求解,因此需要从该两张图像对应的所有匹配点中选取至少5组匹配点,一组匹配点提供两个方程,总共10个方程。
在一些实施例中,若关键矩阵中的其中一个元素归一化为1,所述预定数量至少为4。若该关键矩阵H为单应性矩阵,由p’=H*p展开得到如下:
其中,p’=[x’ y’1]T,p=[xy 1]T,令右下角的元素h33=1来归一化,计算可得如下:
由上述两式得等价矩阵形式Au=v,其中,A、u、V如下:
8个未知数,需要8个方程来求解,因此需要从该两张图像对应的所有匹配点中选取至少4组匹配点,一组匹配点提供两个方程,总共8个方程。
在一些实施例中,所述预定的迭代结束条件为在一次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值大于或等于预定的比值阈值;其中,所述从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,包括:将在该次迭代中获得的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组。在一些实施例中,若在一次迭代中获得的关键矩阵对应的匹配内点数量相对于该两张图像对应的所有匹配点数量的比值大于或等于预定的比值阈值,则停止迭代,将在该次迭代中获得的关键矩阵确定为该两张图像对应的目标关键矩阵,该关键矩阵对应的匹配内点确定为该两张图像对应的匹配内点组。
在一些实施例中,所述预定的迭代结束条件为预定数量的迭代次数;其中,所述从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,包括:从当前获得的多个关键矩阵中将对应的匹配内点数量最多的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组。在一些实施例中,在完成预定次数(例如,10次)的迭代后,停止迭代,将当前获得的多个关键矩阵中对应的匹配内点数量最多的关键矩阵确定为该两张图像对应的目标关键矩阵,该关键矩阵对应的匹配内点确定为该两张图像对应的匹配内点组。
在一些实施例中,所述方法还包括:第一设备对于每一次迭代,若在该次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值大于或等于预定的比值阈值,则减少所述迭代次数。在一些实施例中,若在一次迭代中获得的关键矩阵对应的匹配内点数量相对于该两张图像对应的所有匹配点数量的比值大于或等于预定的比值阈值,则可以适当的减少迭代次数,使得迭代提前终止,例如,原本需要完成10次迭代之后才会停止迭代,若在第5次迭代中获得的关键矩阵对应的匹配内点数量相对于该两张图像对应的所有匹配点数量的比值大于或等于预定的比值阈值,则可以将10次迭代次数减少为8次迭代次数,此时只需要再完成3次迭代即可提前终止迭代。
在一些实施例中,所述减少所述迭代次数,包括:根据在该次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值,确定所述迭代次数的减少次数;按照所述减少次数来减少迭代。在一些实施例中,若在一次迭代中获得的关键矩阵对应的匹配内点数量相对于该两张图像对应的所有匹配点数量的比值大于或等于预定的比值阈值,则可以根据该比值确定迭代次数的减少次数。在一些实施例中,迭代次数的减少次数与该比值成正相关,该比值越高,则迭代次数的减少次数越多。
在一些实施例中,所述ptz摄像机的内参估计初始值的确定方法包括但不限于:随机确定所述内参估计初始值;根据经验值确定所述内参估计初始值;根据所述多张图像对应的尺寸信息,确定所述ptz摄像机的内参估计初始值。在一些实施例中,相机内参包括相机焦距(fx,fy)和相机主点坐标(cx和cy)。在一些实施例中,可以随机确定相机内参估计初始值。在一些实施例中,可以根据经验值进行设置。在一些实施例中,可以根据该多张图像对应的尺寸信息(例如,图像的宽和高),来确定相机内参估计初始值,例如,fx、fy、cx、cy的初始值如下:
其中,width为图像的宽,height为图像的高。本领域技术人员应能理解上述根据图像尺寸信息确定相机内参估计初始值方法仅为举例,其他现有的或今后可能出现的根据图像尺寸信息确定相机内参估计初始值方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一些实施例中,所述非线性优化算法包括但不限于:Levenberg-Marquard(莱文贝格-马夸特)算法;高斯牛顿算法;梯度下降算法。
在一些实施例中,在型号为DS-2DC2204IW-DE3/W的ptz摄像机上进行实际验证。固定zoom值为1.0,为了验证自动标定的精度,使用传统标定方法中的张氏标定法对相机进行标定用于比较,标定结果如下表1所示:
表1
参数 | fx | fy | cx | cy |
标定值 | 1176.543 | 1177.843 | 970.031 | 587.794 |
控制ptz摄像机,记录在不同角度拍摄的图像及对应的Pan、Tilt信息,使用自标定方法进行标定,标定结果如下表2所示:
表2
参数 | fx | fy | cx | cy |
标定值 | 1108.752 | 1106.245 | 962.421 | 553.364 |
相对误差 | -5.76% | -6.08% | -0.78% | -5.86% |
从表2可以看出,ptz摄像机自标定方法的精度较高,与传统标定方法的相对误差在7%以内。
图2示出根据本申请一个实施例的一种用于标定ptz摄像机的第一设备结构图,该设备包括一一模块11、一二模块12和一三模块13。一一模块11,用于获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;一二模块12,用于对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;一三模块13,用于根据所述每两张图像对应的匹配内点组、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
一一模块11,用于获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域。在一些实施例中,第一设备可以是用户设备,也可以是网络设备。在一些实施例中,ptz摄像机是一种能远程控制全方位移动及变焦的摄像机,ptz摄像机中的“p”是“Pan”的简写,代表摄像机的左右移动,“t”是“Tilt”的简写,代表摄像机的上下移动,“z”是“Zoom”的简写,代表摄像机的变焦控制。在一些实施例中,不同角度可以仅仅是Pan不同,也可以仅仅是Tilt不同,还可以是Pan与Tilt均不同。在一些实施例中,由于ptz摄像机具有绕固定轴旋转并可以获取旋转信息这一特点,可以获得每张图像对应的拍摄角度信息,即ptz摄像机在拍摄该张图像时的当前Pan旋转角度及当前Tilt旋转角度。在一些实施例中,每两张图像之间均存在重叠区域是指每两张图像之间均存在重叠的像素区域。在一些实施例中,至少需要获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的两张图像,增加图像数量能够提升标定的鲁棒性和精度,但是图像过多会影响标定速度,一般情况下使用10张以内的图像。
一二模块12,用于对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点。在一些实施例中,对采集到的多张图像两两之间进行特征点匹配,使用特征点匹配算法对每两张图像之间的特征点进行匹配,得到每两张图像对应的多组匹配点,例如,设采集的图像数量为N,则N个图像之间进行两两匹配得到的总的图像匹配组数为N*(N-1)/2,例如,图像Image1与图像Image2构成一个图像匹配组,图像Image1与图像Image3构成一个图像匹配组,图像Image2与图像Image3构成一个图像匹配组。在一些实施例中,这里需要注意的是,匹配点是成组存在的,例如,图像Image1中的特征点P1与图像Image2中的特征点P2相匹配,则特征点P1、特征点P2构成图像Image1与图像Image2所对应的一组匹配点(P1,P2)。在一些实施例中,特征点匹配算法包括但不限于SIFT(Scale-invariant feature transform,尺度不变特征变换)、SURF(Speeded Up RobustFeatures,加速稳健特征)、ORB(Oriented Fast and Rotated Brief)等特征点匹配算法。本领域技术人员应能理解上述特征点匹配算法仅为举例,其他现有的或今后可能出现的特征点匹配算法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
一三模块13,用于根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。在一些实施例中,根据每张图像对应的拍摄角度信息(Pan旋转角度、Tilt旋转角度),可以确定该张图像对应的世界坐标系到相机坐标系的旋转矩阵。在一些实施例中,由于ptz摄像机的Pan、Tilt旋转可以认为是没有产生位移的纯旋转过程,因此每两张图像对应的多组匹配点、该两张图像分别对应的旋转矩阵、ptz摄像机的相机内参满足如下公式:p’= K*R’*R-1*K-1*p,p和p’为两张图像之间的多组匹配点,R和R’分别是这两张图像对应的世界坐标系到相机坐标系的旋转矩阵,K代表ptz摄像机的相机内参。在一些实施例中,在计算机视觉中,为确定三维空间中某点与其在图像中的对应像素点之间的相互关系,需要建立相机成像模型,这些模型的参数就是相机内参,相机内参包括相机焦距(fx,fy)和相机主点坐标(cx和cy),求解这些参数的过程就是相机标定。在一些实施例中,R表示如下:
其中,fx和fy代表相机焦距,cx和cy代表相机主点坐标,α代表tilt旋转角度,β代表pan旋转角度,在上述公式中仅相机内参为未知量,构建采集到的多张图像对应的重投影误差公式如下:
其中,M为该多张图像之间进行两两匹配得到的总的图像匹配组数,n^(m)为第m组图像匹配组中的两张图像对应的匹配点的组数,p_i^'(m)和p_i^(m)是第m组图像匹配组中的两张图像对应的多组匹配点中的第i组匹配点,R^(m)和R^'(m)分别是第m组图像匹配组中的两张图像分别对应的世界坐标系到相机坐标系的旋转矩阵,K^代表对ptz摄像机的相机内参K的估计初始值,通过非线性优化算法对相机内参K的估计初始值进行优化,求出目标K使得该多张图像对应的重投影误差满足第一预定误差条件,该目标K就是ptz摄像机的内参标定值,其中,第一预定误差条件可以是重投影误差达到极小值,也可以是重投影误差小于或等于预定的误差阈值。在一些实施例中,该多张图像对应的重投影误差公式得到的是该多张图像之间进行两两匹配得到的每一个图像匹配组中的两张图像对应的所有匹配点的总投影误差,K矩阵的初始值是相机内参的估计初始值,然后通过非线性优化算法优化K矩阵,使得所有匹配点的总投影误差达到极小值,此时的当前K矩阵就是ptz摄像机的内参标定值。在一些实施例中,非线性优化算法包括但不限于LM(Levenberg-Marquard,莱文贝格-马夸特)算法、高斯牛顿算法、梯度下降算法,在这里,对非线性优化算法进行简单描述,对于一个如下的最小二乘问题:
如果f是形式上很简单的函数,则可以令目标函数的导数为0,求x的最优值。但是对于不方便直接求解的最小二乘问题,可以使用迭代的方法,从一个初始值出发,不断更新当前的优化变量,使目标函数下降。具体步骤如下:
1.给定初始值x0。
2. 对于第k次迭代,寻找一个增量Δxk,使得||f(xk+Δxk)||2达到极小值。
3.若Δxk足够小,则停止。
4.否则,令xk+1=xk+Δxk,返回第二步。
这就让求解导数为0的问题变为了一个不断寻找梯度并下降的过程。直到某刻增量非常小,无法再使函数下降。此时算法收敛,目标达到极小值。非线性优化算法就是确定增量Δx并使用上述步骤使目标函数达到极小值的方法。本领域技术人员应能理解上述非线性优化算法仅为举例,其他现有的或今后可能出现的非线性优化算法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在一些实施例中,相机内参的估计初始值可以是随机确定的,然而,非线性优化算法的速度和最终结果与相机内参的初始估计值直接相关,初始估计值与最终估计值相差太大会使优化速度减慢甚至落入局部最优解,因此,对于相机内参初始值的估计也是影响标定结果的重要因素。在一些实施例中,为了获得较为准确的标定结果,相机内参的初始估计值也可以根据经验值进行设置,例如,根据经验设置为特定的值,或者,还可以根据该多张图像对应的尺寸信息来确定,例如,假设图像宽度为width,图像高度为height,则可以确定相机内参的估计初始值如下:
或者,还可以通过任何现有技术中相机内参的预估方法来确定相机内参的估计初始值,然后再通过非线性优化算法进行优化。这里,相机内参可以是相机的全部内参,也可以是相机的部分内参。在一些实施例中,相机内参的估计初始值可以由一种或多种方法共同确定,如相机焦距通过经验值确定,相机主点通过图像对应的尺寸信息确定,这里不进行限定。本领域技术人员应能理解上述相机内参的估计初始值的确定方法仅为举例,其他现有的或今后可能出现的相机内参的估计初始值的确定方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在一些实施例中,本申请充分利用了ptz摄像机绕固定轴旋转并可以获取旋转信息这一特点,能够提升标定的鲁棒性,标定精度较高,标定精度并不依赖于关键矩阵(例如,单应性矩阵)的精度,且标定步骤不需要标定板,能够自动标定,较为简单,可以明显提高标定效率。
在一些实施例中,所述设备还包括一四模块14(未示出)。一四模块14,用于对于所述每两张图像,对该两张图像对应的多组匹配点进行误匹配剔除操作,从所述多组匹配点中获得该两张图像对应的匹配内点组;其中,所述一三模块13用于:根据所述每两张图像对应的匹配内点组、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一四模块14包括一四一模块141(未示出)。一四一模块141,用于对于所述每两张图像,获得用于描述该两张图像对应的多组匹配点中的至少一组匹配点之间对应关系的目标关键矩阵,并从所述多组匹配点中获得所述目标关键矩阵对应的匹配内点,根据所述匹配内点确定该两张图像对应的匹配内点组,其中,所述目标关键矩阵对应的匹配内点相对于所述目标关键矩阵的重投影误差小于或等于第一预定误差阈值。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一四一模块141用于:对于所述每两张图像,从该两张图像对应的多组匹配点中随机选取预定数量的匹配点,获得用于描述所述预定数量的匹配点之间对应关系的一个关键矩阵,并从所述多组匹配点中获得该一个关键矩阵对应的匹配内点,然后获得用于描述该一个关键矩阵对应的匹配内点之间对应关系的另一个关键矩阵,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,其中,该一个关键矩阵对应的匹配内点相对于该一个关键矩阵的重投影误差小于或等于第一预定误差阈值。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述一四一模块141用于:对于所述每两张图像,从该两张图像对应的多组匹配点中随机选取预定数量的匹配点,获得用于描述所述预定数量的匹配点之间对应关系的一个关键矩阵,并从所述多组匹配点中获得该一个关键矩阵对应的匹配内点;重新从所述多组匹配点中随机选取所述预定数量的匹配点,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,其中,该一个关键矩阵对应的匹配内点相对于该一个关键矩阵的重投影误差小于或等于第一预定误差阈值。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述预定数量至少为4或5。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,若关键矩阵中的其中一个元素归一化为1,所述预定数量至少为4。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述预定的迭代结束条件为在一次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值大于或等于预定的比值阈值;其中,所述从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,包括:将在该次迭代中获得的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述预定的迭代结束条件为预定数量的迭代次数;其中,所述从当前获得的多个关键矩阵中将对应的匹配内点满足预定的数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,包括:从当前获得的多个关键矩阵中将对应的匹配内点数量最多的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述设备还用于:对于每一次迭代,若在该次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值大于或等于预定的比值阈值,则减少所述迭代次数。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述减少所述迭代次数,包括:根据在该次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值,确定所述迭代次数的减少次数;按照所述减少次数来减少迭代。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。
在一些实施例中,所述ptz摄像机的内参估计初始值的确定方法包括但不限于:随机确定所述内参估计初始值;根据经验值确定所述内参估计初始值;根据所述多张图像对应的尺寸信息,确定所述ptz摄像机的内参估计初始值。在此,相关操作与图1所示实施例相同或相近,故不再赘述,在此以引用方式包含于此。在一些实施例中,相机内参估计初始值还可以通过预先估计得到,可以通过任何现有技术中相机内参的预估方法来确定相机内参估计初始值。
在一些实施例中,所述非线性优化算法包括但不限于:Levenberg-Marquard(莱文贝格-马夸特)算法;高斯牛顿算法;梯度下降算法。
图3示出了可被用于实施本申请中所述的各个实施例的示例性***。
如图3所示在一些实施例中,***300能够作为各所述实施例中的任意一个设备。在一些实施例中,***300可包括具有指令的一个或多个计算机可读介质(例如,***存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,***控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与***控制模块310通信的任意适当的设备或组件提供任意适当的接口。
***控制模块310可包括存储器控制器模块330,以向***存储器 315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
***存储器315可被用于例如为***300加载和存储数据和/或指令。对于一个实施例,***存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,***存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,***控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为***300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为***300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。***300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器(例你如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,***300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、持有计算设备、平板电脑、上网本等)。在各个实施例中,***300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,***300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个***传送到另一***的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机***使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (15)
1.一种用于标定ptz摄像机的方法,其中,所述方法包括:
获取待标定的ptz摄像机所采集的在相同焦距下不同角度拍摄的多张图像及每张图像对应的拍摄角度信息,其中,每两张图像之间均存在重叠区域;
对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点;
根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的,所述重投影误差公式为:
2.根据权利要求1所述的方法,其中,所述方法还包括在所述对于所述每两张图像,通过特征点匹配算法进行特征点匹配,得到该两张图像对应的多组匹配点,之后执行:
对于所述每两张图像,对该两张图像对应的多组匹配点进行误匹配剔除操作,从所述多组匹配点中获得该两张图像对应的匹配内点组;
其中,所述根据所述每两张图像对应的多组匹配点、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,包括:
根据所述每两张图像对应的匹配内点组、所述每张图像对应的旋转矩阵、所述ptz摄像机的内参估计初始值,构建所述多张图像对应的重投影误差公式,通过非线性优化算法对所述内参估计初始值进行优化,获得所述ptz摄像机的内参标定值,其中,所述重投影误差公式在所述内参标定值下的重投影误差满足第一预定误差条件,所述每张图像对应的旋转矩阵是根据所述每张图像对应的拍摄角度信息确定的。
3.根据权利要求2所述的方法,其中,所述对于所述每两张图像,对该两张图像对应的多组匹配点进行误匹配剔除操作,从所述多组匹配点中获得该两张图像对应的匹配内点组,包括:
对于所述每两张图像,获得用于描述该两张图像对应的多组匹配点中的至少一组匹配点之间对应关系的目标关键矩阵,并从所述多组匹配点中获得所述目标关键矩阵对应的匹配内点,根据所述匹配内点确定该两张图像对应的匹配内点组,其中,所述目标关键矩阵对应的匹配内点相对于所述目标关键矩阵的重投影误差小于或等于第一预定误差阈值。
4.根据权利要求3所述的方法,其中,所述对于所述每两张图像,获得用于描述该两张图像对应的多组匹配点中的至少一组匹配点之间对应关系的目标关键矩阵,并从所述多组匹配点中获得所述目标关键矩阵对应的匹配内点,根据所述匹配内点确定该两张图像对应的匹配内点组,包括:
对于所述每两张图像,从该两张图像对应的多组匹配点中随机选取预定数量的匹配点,获得用于描述所述预定数量的匹配点之间对应关系的一个关键矩阵,并从所述多组匹配点中获得该一个关键矩阵对应的匹配内点,然后获得用于描述该一个关键矩阵对应的匹配内点之间对应关系的另一个关键矩阵,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个所述一个关键矩阵及多个所述另一个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,其中,该一个关键矩阵对应的匹配内点相对于该一个关键矩阵的重投影误差小于或等于第一预定误差阈值,所述关键矩阵包括单应性矩阵或基础矩阵。
5.根据权利要求3所述的方法,其中,所述对于所述每两张图像,获得用于描述该两张图像对应的多组匹配点中的至少一组匹配点之间对应关系的目标关键矩阵,并从所述多组匹配点中获得所述目标关键矩阵对应的匹配内点,根据所述匹配内点确定该两张图像对应的匹配内点组,包括:
对于所述每两张图像,从该两张图像对应的多组匹配点中随机选取预定数量的匹配点,获得用于描述所述预定数量的匹配点之间对应关系的一个关键矩阵,并从所述多组匹配点中获得该一个关键矩阵对应的匹配内点;重新从所述多组匹配点中随机选取所述预定数量的匹配点,迭代执行上述操作,直至满足预定的迭代结束条件,从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,其中,该一个关键矩阵对应的匹配内点相对于该一个关键矩阵的重投影误差小于或等于第一预定误差阈值。
6.根据权利要求4或5所述的方法,其中,所述预定数量至少为4或5。
7.根据权利要求6所述的方法,其中,若关键矩阵中的其中一个元素归一化为1,所述预定数量至少为4。
8.根据权利要求4或5所述的方法,其中,所述预定的迭代结束条件为在一次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值大于或等于预定的比值阈值;
其中,所述从当前获得的多个关键矩阵中将对应的匹配内点满足预定数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,包括:
将在该次迭代中获得的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组。
9.根据权利要求4或5所述的方法,其中,所述预定的迭代结束条件为预定数量的迭代次数;
其中,所述从当前获得的多个关键矩阵中将对应的匹配内点满足预定的数量条件的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组,包括:
从当前获得的多个关键矩阵中将对应的匹配内点数量最多的关键矩阵确定为该两张图像对应的目标关键矩阵并将其对应的匹配内点确定为该两张图像对应的匹配内点组。
10.根据权利要求9所述的方法,其中,所述方法还包括:
对于每一次迭代,若在该次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值大于或等于预定的比值阈值,则减少所述迭代次数。
11.根据权利要求10所述的方法,其中,所述减少所述迭代次数,包括:
根据在该次迭代中获得的关键矩阵对应的匹配内点数量相对于所述多组匹配点数量的比值,确定所述迭代次数的减少次数;
按照所述减少次数来减少迭代。
12.根据权利要求1所述的方法,其中,所述ptz摄像机的内参估计初始值的确定方法包括以下任一项:
随机确定所述内参估计初始值;
根据经验值确定所述内参估计初始值;
根据所述多张图像对应的尺寸信息,确定所述ptz摄像机的内参估计初始值。
13.根据权利要求1所述的方法,其中,所述非线性优化算法包括以下任一项:
Levenberg-Marquard算法;
高斯牛顿算法;
梯度下降算法。
14.一种用于标定ptz摄像机的设备,其特征在于,所述设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至13中任一项所述的方法。
15.一种存储指令的计算机可读介质,所述指令在被计算机执行时使得所述计算机进行如权利要求1至13中任一项所述方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274076.3A CN112819904B (zh) | 2021-03-15 | 2021-03-15 | 一种用于标定ptz摄像机的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274076.3A CN112819904B (zh) | 2021-03-15 | 2021-03-15 | 一种用于标定ptz摄像机的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819904A CN112819904A (zh) | 2021-05-18 |
CN112819904B true CN112819904B (zh) | 2022-02-01 |
Family
ID=75863227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110274076.3A Active CN112819904B (zh) | 2021-03-15 | 2021-03-15 | 一种用于标定ptz摄像机的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819904B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240754B (zh) * | 2021-06-01 | 2024-03-01 | 亮风台(上海)信息科技有限公司 | 确定ptz摄像装置的内参的方法、装置、设备及存储介质 |
CN113129211B (zh) * | 2021-06-16 | 2021-08-17 | 贝壳技术有限公司 | 光心对齐检测方法和装置、存储介质、电子设备 |
CN113470118B (zh) * | 2021-07-15 | 2023-12-05 | 中国人民解放***箭军工程大学 | 一种基于三目视觉的目标尺寸估计*** |
CN117689899B (zh) * | 2024-02-04 | 2024-05-24 | 南昌虚拟现实研究院股份有限公司 | 一种手势采集装置参数点检方法、***、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530358A (zh) * | 2016-12-15 | 2017-03-22 | 北京航空航天大学 | 仅用两幅场景图像标定ptz摄像机的方法 |
CN109242911A (zh) * | 2018-08-27 | 2019-01-18 | 大连理工大学 | 一种基于分区域的双目相机基本矩阵计算方法 |
CN110148163A (zh) * | 2019-04-29 | 2019-08-20 | 东南大学 | 一种基于有效区域的改进ransac算法求解单应矩阵的方法 |
CN111445537A (zh) * | 2020-06-18 | 2020-07-24 | 浙江中控技术股份有限公司 | 一种摄像机的标定方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065313B (zh) * | 2010-11-16 | 2012-10-31 | 上海大学 | 平行式相机阵列的未标定多视点图像校正方法 |
CN103886595B (zh) * | 2014-03-19 | 2016-08-17 | 浙江大学 | 一种基于广义统一模型的折反射相机自标定方法 |
KR101618996B1 (ko) * | 2014-12-31 | 2016-05-09 | 인하대학교 산학협력단 | 호모그래피를 추정하기 위한 샘플링 방법 및 영상 처리 장치 |
US10600210B1 (en) * | 2019-07-25 | 2020-03-24 | Second Spectrum, Inc. | Data processing systems for real-time camera parameter estimation |
-
2021
- 2021-03-15 CN CN202110274076.3A patent/CN112819904B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530358A (zh) * | 2016-12-15 | 2017-03-22 | 北京航空航天大学 | 仅用两幅场景图像标定ptz摄像机的方法 |
CN109242911A (zh) * | 2018-08-27 | 2019-01-18 | 大连理工大学 | 一种基于分区域的双目相机基本矩阵计算方法 |
CN110148163A (zh) * | 2019-04-29 | 2019-08-20 | 东南大学 | 一种基于有效区域的改进ransac算法求解单应矩阵的方法 |
CN111445537A (zh) * | 2020-06-18 | 2020-07-24 | 浙江中控技术股份有限公司 | 一种摄像机的标定方法及*** |
Non-Patent Citations (2)
Title |
---|
SIFT Feature Point Matching Based on Improved RANSAC Algorithm;Guangjun Shi等;《IEEE》;20131024;第474-477页 * |
基于视觉与惯性组合信息的图像特征提取与匹配;孙新成等;《机械设计与制造工程》;20200930;第49卷(第9期);第11-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112819904A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112819904B (zh) | 一种用于标定ptz摄像机的方法与设备 | |
JP7060758B2 (ja) | 追跡ターゲットの位置決め方法、装置、機器及び記憶媒体 | |
US11422261B2 (en) | Robot relocalization method and apparatus and robot using the same | |
CN107909612B (zh) | 一种基于3d点云的视觉即时定位与建图的方法与*** | |
CN107784671B (zh) | 一种用于视觉即时定位与建图的方法与*** | |
US8204714B2 (en) | Method and computer program product for finding statistical bounds, corresponding parameter corners, and a probability density function of a performance target for a circuit | |
CN109993798B (zh) | 多摄像头检测运动轨迹的方法、设备及存储介质 | |
US20170294002A1 (en) | Systems and methods for adjusting an image | |
CN111209903A (zh) | 一种人脸检测的方法与设备 | |
JP2024509690A (ja) | 三次元地図を構築する方法および装置 | |
KR20210074163A (ko) | 공동 검출 및 기술 시스템 및 방법 | |
US20170099427A1 (en) | Methods and apparatuses for providing improved autofocus using curve-fitting | |
Liu et al. | Automatic chessboard corner detection method | |
CN114170303A (zh) | 雷达和摄像头的联合标定方法、装置、***、设备及介质 | |
CN111352791A (zh) | 一种***应用的检测方法、装置、终端设备及存储介质 | |
WO2022147655A1 (zh) | 定位方法、空间信息获取方法、装置、拍摄设备 | |
CN115457202B (zh) | 一种三维模型更新的方法、装置及存储介质 | |
CN109541541B (zh) | 一种室内三角定位精度修正方法及装置 | |
US20230401670A1 (en) | Multi-scale autoencoder generation method, electronic device and readable storage medium | |
TW202109457A (zh) | 校準三維相機深度之方法、裝置、電腦裝置及存儲介質 | |
CN115018932A (zh) | 相机标定方法、装置、电子设备和存储介质 | |
WO2020114375A1 (zh) | 一种用于生成和识别二维码的方法与设备 | |
CN113205591A (zh) | 一种三维重建训练数据的获取方法、装置及电子设备 | |
CN109374919B (zh) | 一种基于单个拍摄设备确定移动速度的方法及装置 | |
CN114298254B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 201210 7th Floor, No. 1, Lane 5005, Shenjiang Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: HISCENE INFORMATION TECHNOLOGY Co.,Ltd. Address before: Room 501 / 503-505, 570 shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203 Patentee before: HISCENE INFORMATION TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |