CN116912331A - 标定数据生成方法、装置、电子设备及存储介质 - Google Patents

标定数据生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116912331A
CN116912331A CN202310902384.5A CN202310902384A CN116912331A CN 116912331 A CN116912331 A CN 116912331A CN 202310902384 A CN202310902384 A CN 202310902384A CN 116912331 A CN116912331 A CN 116912331A
Authority
CN
China
Prior art keywords
point
points
calibration
corner
image
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
Application number
CN202310902384.5A
Other languages
English (en)
Inventor
王天舒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenli Vision Shenzhen Cultural Technology Co ltd
Original Assignee
Shenli Vision Shenzhen Cultural Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenli Vision Shenzhen Cultural Technology Co ltd filed Critical Shenli Vision Shenzhen Cultural Technology Co ltd
Priority to CN202310902384.5A priority Critical patent/CN116912331A/zh
Publication of CN116912331A publication Critical patent/CN116912331A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开涉及标定数据生成方法、装置、电子设备及存储介质,所述方法包括:控制虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板;控制摄像机在不同位姿下对多块屏幕进行图像采集,得到多张图像;对摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息;将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对;其中,标定数据包括多张图像中检测出的特征点的坐标对,标定数据用于标定摄像机的相机参数。根据本公开实施例,能够有效提高标定数据的生成效率和采集的精度。

Description

标定数据生成方法、装置、电子设备及存储介质
技术领域
本公开涉及相机标定技术领域,尤其涉及一种标定数据生成方法、装置、电子设备及存储介质。
背景技术
传统影视制作为了满足拍摄需求,需要花费大量的时间和人力来挑选拍摄地点,制作道具,搭建拍摄场景。而虚拟拍摄(或虚拟制片)技术,能够用渲染引擎渲染出的虚拟场景来替代真实置景,减少了影视拍摄对地点和布景的依赖,极大的降低了拍摄成本。同时,借助实时渲染的能力,对于一些原本需要后期制作的特效,虚拟拍摄可以在拍摄阶段就看到成片的效果,后期前置,提高了制作效率。也正因为这些优势的存在,虚拟拍摄在近些年被越来越多的应用于影视制作中。
在虚拟拍摄中,想实现“虚”与“实”的融合,首先需要通过相机标定技术来建立摄像机的相机的几何成像模型参数,也即标定摄像机的相机参数。一般相机标定的标定板是通过将标定板打印到一个刚性平面上并将打印出的标定板设置于现实场景中,相机标定过程通常包括:利用待标定的相机对现实场景中的标定板进行拍摄得到包含标定板的图像,对包含标定板的图像进行特征点检测,得到图像中特征点的二维图像坐标,然后将检测出的二维图像坐标与标定板中特征点预设的三维坐标一一对应,构成用于标定摄像机的标定数据,进而可以利用标定数据标定出相机的相机参数。
但在虚拟拍摄场景中,需要将标定板投影到多块较大LED屏幕上来进行标定,而现有的标定板无法很好的适应虚拟拍摄场景中的相机标定,例如,图1(a)所示的由交替出现的黑白色块构成的棋盘格标定板,棋盘格标定板中的特征点指的是在对角线方向上相邻两个黑块之间的角点,这个角点在采集到的图片上的坐标就是二维图像坐标;三维坐标指的是以棋盘格标定板左下角角点为坐标原点(0,0,0)构成的坐标系中每个角点的三维坐标,由于该类棋盘格标定板需要被放置在一个刚性平面上,并在每次采集图像时都需要将棋盘格标定板完整的拍下来才能够完成特征点检测,但对于多LED屏幕的场景,各个LED屏幕之间会存在夹角,且不能保证将LED屏幕上的棋盘格拍全,从而影响特征点检测精度和成功率,进而影响标定数据的精度和生成效率。
再例如图1(b)所示的由排布均匀的圆点构成网格点标定板,由于其特征点为圆点的圆心,相比与棋盘格角点检测,圆点圆心位置的检测会更加复杂,并且在每次图像采集中都需要将标定板完整的拍下来才能完成后续二维坐标与三维坐标对应,但在虚拟拍摄中,标定板会显示在巨大LED屏幕中,很难保证拍全,虽然现有技术还可以通过在LED屏幕上连续投影多张不同网格点标定板,并单次采集多张连续图像的方式,以定位多张连续图像中圆点的点序进而解决二维坐标与三维坐标对应的问题,但这种方式增加了图像采集时间,且LED屏幕越大,采集时间越长,且在单次采集多张连续图像中需要保持摄像机位置不变,如果摄像机的位置发生变化,即使是小范围变化,本次采集的图像数据也是无效的,这导致有效图像的采集成功率较低,从而显著影响特征点检测精度和检测效率,进而影响标定数据的精度和生成效率。
发明内容
有鉴于此,本公开提出了一种标定数据生成方法、装置、电子设备及存储介质,能够生成适应于虚拟拍摄场景的指定标定板,提高采集到有效图像的成功率和稳定性,提高标定数据的精度和生成效率。
根据本公开的一方面,提供了一种标定数据生成方法,应用于虚拟拍摄系统,所述虚拟拍摄系统包括用于拍摄的摄像机以及用于显示虚拟场景的多块屏幕,所述方法包括:控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,其中,每块屏幕对应的指定标定板包括多个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的二维标识码ArUco码,每个标定单元中两个相同ArUco码之间连接处的角点为每个标定单元的特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号,每个特征点的序号与每个特征点在屏幕中显示时的三维坐标对应关联;在所述多块屏幕已显示各自对应的指定标定板的情况下,控制所述摄像机在不同位姿下对所述多块屏幕进行图像采集,得到所述摄像机采集的多张图像;对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,所述特征点信息包括特征点的序号以及特征点在图像中的二维坐标;根据每张图像中检测出的特征点的序号,将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对;其中,所述标定数据包括所述多张图像中检测出的特征点的坐标对,所述标定数据用于标定所述摄像机的相机参数。
在一种可能的实现方式中,所述对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,包括:将所述摄像机采集的每张图像转换成灰度图并对所述灰度图进行二值化处理,得到每张图像对应的二值化图像;利用ArUco检测算法检测所述二值化图像中ArUco码之间连接处的角点以及码值,得到ArUco检测结果,所述ArUco检测结果包括检测出的角点以及检测出的ArUco码的码值;根据所述ArUco检测结果中检测出的ArUco码的码值以及检测出的角点在所述二值化图像中的二维坐标,从所述检测出的角点中确定出特征点并确定特征点的特征点信息。
在一种可能的实现方式中,在所述二值化图像中存在部分未被所述ArUco检测算法检测出的ArUco码的角点以及码值,使得所述二值化图像中存在未确定出的特征点的情况下,所述方法还包括:将利用所述ArUco检测算结果所确定出的特征点信息添加到预设的候选集中;利用角点检测算法对所述二值化图像中的角点进行检测,得到角点检测结果,所述角点检测结果包括所述二值化图像中的全部角点;根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息。
在一种可能的实现方式中,所述根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息,包括:针对所述候选集中的任一特征点信息,根据所述特征点信息中的第一序号,确定与所述第一序号指示的特征点对应的多个最邻近点的第二序号,所述多个最邻近点表征在多个方向上分别与所述第一序号指示的特征点之间距离最近的多个特征点;根据所述多个最近邻点的第二序号,判断所述多个最近邻点的第二序号中是否包括不存在于所述候选集中的第三序号;在所述多个最近邻点的第二序号中包括不存在于所述候选集中的第三序号的情况下,根据所述特征点信息中所述第一序号指示的特征点的二维坐标,预估所述第三序号指示的最近邻点的二维坐标;根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点相匹配的第一角点并将所述第一角点确定为特征点,以及,将所述第三序号作为所述第一角点的序号,将所述第一角点在所述二值化图像中的二维坐标作为所述第一角点的二维坐标,其中,所述二值化图像中未确定出的特征点包括所述第一角点。
在一种可能的实现方式中,所述根据所述特征点信息中所述第一序号指示的特征点的二维坐标,预估所述第三序号指示的最近邻点的二维坐标,包括:根据所述多个最邻近点的第二序号,判断与所述第三序号指示的最近邻点对应的反向点的第四序号是否存在于所述候选集中,所述反向点为所述多个最邻近点中与所述第三序号指示的最近邻点呈相反方向分布的最邻近点;在所述反向点的第四序号存在于所述候选集中的情况下,根据所述反向点与所述第一序号指示的特征点之间的向量,以及所述第一序号指示的特征点的二维坐标,确定所述第三序号指示的最近邻点的二维坐标。
在一种可能的实现方式中,所述根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点相匹配的第一角点,包括:根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点之间距离最近的第二角点,并判断所述第三序号指示的最近邻点与所述第二角点之间的距离是否小于预设误差阈值;在所述第三序号指示的最近邻点与所述第二角点之间的距离小于预设误差阈值的情况下,将所述第二角点确定为与所述第三序号指示的最近邻点相匹配的第一角点。
在一种可能的实现方式中,所述方法还包括:将所述第一角点的特征点信息添加到所述候选集中,以针对所述第一角点的特征点信息,再次执行根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息。
在一种可能的实现方式中,所述控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,包括:响应于针对所述各块屏幕的标定板配置操作,确定所述各块屏幕各自对应的指定标定板并控制所述各块屏幕显示各自对应的指定标定板;其中,所述标定板配置操作用于配置以下至少一种:指定标定板中标定单元的尺寸、指定标定板中标定单元的行数和列数、指定标定板在屏幕中的显示区域。
根据本公开的另一方面,提供了一种标定数据生成装置,应用于虚拟拍摄系统,所述虚拟拍摄系统包括用于拍摄的摄像机以及用于显示虚拟场景的多块屏幕,所述方法包括:控制模块,用于控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,其中,每块屏幕对应的指定标定板包括多个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的二维标识码ArUco码,每个标定单元中两个相同ArUco码之间连接处的角点为每个标定单元的特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号,每个特征点的序号与每个特征点在屏幕中显示时的三维坐标对应关联;采集模块,用于在所述多块屏幕已显示各自对应的指定标定板的情况下,控制所述摄像机在不同位姿下对所述多块屏幕进行图像采集,得到所述摄像机采集的多张图像;检测模块,用于对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,所述特征点信息包括特征点的序号以及特征点在图像中的二维坐标;关联模块,用于根据每张图像中检测出的特征点的序号,将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对;其中,所述标定数据包括所述多张图像中检测出的特征点的坐标对,所述标定数据用于标定所述摄像机的相机参数。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
根据本公开实施例,提供了一种新的ArUco码排布方式下的标定板,相比普通标定板的特征点检测精度会更高,更容易且更高效检测出特征点,且通过配置不同屏幕对应的指定标定板,能够使指定标定板与不同屏幕适配,且不受图像采集过程中摄像机位姿移动、屏幕被遮挡等情况的影响,采集到有效图像的稳定性更好,也能提高特征点检测成功率,进而提高标定数据的精度和生成效率,有利于提高对摄像机的相机标定精度。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1(a)示出相关技术的一种棋盘格标定板的示意图。
图1(b)示出相关技术的一种网格点标定板的示意图。
图2示出根据本公开一实施例的一种虚拟拍摄系统的示意图。
图3示出根据本公开一实施例的标定数据生成的流程图。
图4示出本公开实施例提供的一种指定标定板的示意图。
图5示出根据本公开一实施例的一种LED屏幕中指定标定板显示效果的示意图。
图6示出根据本公开一实施例的一种配置界面的示意图。
图7示出根据本公开一实施例的另一种LED屏幕中指定标定板显示效果的示意图。
图8示出根据本公开一实施例的摄像机拍摄的一张图像的示意图。
图9示出根据本公开一实施例的二值化图像的示意图。
图10示出根据本公开一实施例的一种ArUco检测结果的示意图。
图11示出根据本公开一实施例的一种角点检测结果的示意图。
图12示出本公开实施例提供的一种标定数据生成装置的框图。
图13示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
如上所述,现有的标定板,如棋盘格标定板、网格点标定板等,无法很好的适应虚拟拍摄场景,使得标定数据的精度和生成效率较低。有鉴于此,本公开实施例提供了一种标定数据生成方法,可以应用于虚拟拍摄系统,能够提高采集到有效图像的成功率和稳定性,提高特征点的检测效率和检测精度,进而高效地精度更高的标定数据,有利于提高虚拟拍摄系统中摄像机的标定精度。
图2示出根据本公开实施例的一种虚拟拍摄系统的示意图,如图2所示,该虚拟拍摄系统包括用于拍摄的摄像机01、用于显示虚拟场景的多块屏幕(021、022、023)以及控制设备03,控制设备03分别与摄像机01以及多块屏幕(021、022、023)之间建立有通信连接。应理解,本公开实施例对于设备之间的通信连接方式不作限制。
其中,摄像机01可以理解为待标定的摄像机,本公开实施例对于摄像机的类型不作限制;虚拟拍摄系统中使用的屏幕可以是LED显示屏、液晶显示屏等类型,可以是曲面屏或平面屏等结构,应理解,本领域技术人员可以根据实际需求自定义设置虚拟拍摄系统中使用的屏幕的类型、数量、尺寸、分辨率等,对此本公开实施例不作限制。
其中,控制设备03可以是具有计算处理控制能力的电子设备,例如,台式计算机、笔记本电脑等,在虚拟拍摄过程中,控制设备03可以用于控制多块屏幕(021、022、023)显示虚拟场景,控制摄像机的拍摄位姿,接收并处理摄像机拍摄的视频数据,对视频数据进行后期制作等;在进行虚拟拍摄之前,该控制设备03还可以用于执行本公开实施例的标定数据生成方法,以生成标定数据并标定摄像机01的相机参数,其中,相机参数可以包括摄像机的相机内参(如光心、焦距)和畸变参数(如径向畸变、切向畸变)。
应理解,本公开实施例的标定数据生成方法也可以在其它电子设备上执行,也即,可以由其它电子设备连接并控制上述多块屏幕(021、022、023)和摄像机01,以执行本公开实施例的标定数据生成方法并标定摄像机01的相机参数。本公开实施例对于标定数据生成方法的执行主体不作限制。其中,电子设备可以包括终端设备或服务器。
本公开实施例的标定数据生成方法可以通过软件或硬件改造部署在各种终端设备上,本公开实施例涉及的终端设备可以是指具有无线连接功能和/或有线连接功能的设备,无线连接的功能是指可以通过wifi、蓝牙等无线连接方式与其他设备(如上述摄像机、各块屏幕等)进行连接,本公开实施例涉及的终端设备也可以与其他设备通过有线连接功能进行通信。本公开实施例涉及的终端设备可以是触屏的、也可以是非触屏的、也可以是没有屏幕的,触屏的可以通过手指、触控笔等在显示屏幕上点击、滑动等方式对终端设备进行控制,非触屏的设备可以连接鼠标、键盘、触控面板等输入设备,通过输入设备对终端设备进行控制,没有屏幕的设备比如说可以是没有屏幕的蓝牙音箱等。举例来说,本申请的终端设备可以包括但不限于用户设备(User Equipment,UE)、移动设备、用户终端、终端、手持设备、平板电脑、笔记本电脑、掌上电脑、计算设备等。
本公开实施例的标定数据生成方法也可以部署于服务器上,该服务器可以位于云端或本地,可以是实体设备,也可以是虚拟设备,如虚拟机、容器等,具有无线通信功能,其中,无线通信功能可设置于该服务器的芯片(系统)或其他部件或组件。可以是指具有无线连接功能的设备,无线连接的功能是指可以通过Wi-Fi、蓝牙等无线连接方式与其他服务器或终端设备进行连接,本公开实施例涉及的服务器也可以具有有线连接进行通信的功能。例如,本公开实施例涉及的服务器与上述虚拟拍摄系统中的控制设备03进行通信,向控制设备03发送各块屏幕对应的指定标定板,接收控制设备03发送的摄像机01拍摄的多张图像,检测出多张图像中的特征点以及特征点信息,确定出标定数据并将标定数据发送至控制设备03,控制设备03可以根据标定数据标定摄像机01的相机参数等。
以下通过图3至图11,对本公开实施例提供的标定数据生成方法进行详细介绍。
图3示出根据本公开一实施例的标定数据生成的流程图。该方法可以用于上述虚拟拍摄系统,该方法可以由上述虚拟拍摄系统中的控制设备执行,也可以由上述其它电子设备执行,如图3所示,该标定数据生成方法包括:
步骤S31,控制虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板。
其中,每块屏幕对应的指定标定板包括多个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的二维标识码ArUco码,每个标定单元中两个相同ArUco码之间连接处的角点为每个标定单元的特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号,每个特征点的序号与每个特征点在屏幕中显示时的三维坐标对应关联。利用本公开实施例的提供的指定标定板,可以提高后续特征点检测的精度和效率。
图4示出本公开实施例提供的一种指定标定板的示意图,如图4所示,该指定标定板包括3行×3列共9个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的ArUco码,每个标定单元中除ArUco码以外为白色区域,其中,两个相同的ArUco码也即两个ArUco码的码值相同,其中,本公开实施例将每个标定单元中两个ArUco码之间连接处的角点为每个标定单元的特征点,例如图4中在某个标定单元中所标示出的角点,也即为该标定单元的特征点。应理解,图4示出的指定标定板是本公开实施例提供的一种示例性标定板,实际上,本领域技术人员可以根据实际需求配置所需的指定标定板。
可知晓,ArUco码是一种由二进制编码组成的正方形标记,其由宽黑色边框和内部二进制编码,通过识别二进制编码可以得到ArUco码的码值,应理解,本领域技术人员可以采用本领域已知的ArUco码生成技术,生成指定标定板中使用的ArUco码,对此本公开实施例不作限制。指定标定板中标定单元的ArUco码的码值通常是顺序排列的,也即,特征点的序号也是顺序排列的,例如,图4所示的指定标定板中标定单元的ArUco码的码值可以按照从左到右、从上到下排列为01~09,也即特征点的序号可以排列为01~09,这样可以便于后续提高每张图像中能够提取出的特征点的数量,提高特征点检测精度和成功率。
如上所述,虚拟拍摄系统中使用的多块屏幕可以具有不同的尺寸、分辨率等,以及使用的摄像机可以是具有不同焦距的摄像机,例如可以是广角摄像机、长焦摄像机,不同焦距的摄像机所拍摄的范围是不同的,并且实际拍摄中还可能存在各种干扰因素(例如屏幕被遮挡等)影响标定板的稳定性,因此,可以针对每块屏幕单独配置对应的指定标定板,使得指定标定板可以适应于不同尺寸、不同分辨率的屏幕、适应于不同焦距的摄像机以及不同特征点密度的要求(特征点密度越高,指定标定板中特征点的数量越多)的要求,并尽可能减少各种干扰因素对指定标定板的稳定性影响;其中,例如屏幕的分辨率越大,指定标定板中标定单元的尺寸可以越大,这样可以使指定标定板充满整个屏幕;由于摄像机的焦距越长,视野越窄,因此摄像机的焦距越长,指定标定板中标定单元的数量可以越多,这样可以使长焦的摄像机采集的图像中包含更多的特征点。
在一种可能的实现方式中,控制虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,包括:响应于针对各块屏幕的标定板配置操作,确定各块屏幕各自对应的指定标定板并控制各块屏幕显示各自对应的指定标定板;其中,标定板配置操作可以用于配置以下至少一种:指定标定板中标定单元的尺寸、指定标定板中标定单元的行数和列数、指定标定板在屏幕中的显示区域。其中,标定单元的尺寸可以包括标定单元的长度和宽度。应理解,在配置并生成每块屏幕的指定标定板后,便可以根据各块屏幕模型所在的三维坐标系或者屏幕模型某个顶点的三维坐标,确定出指定标定板中各个特征点的三维坐标,相当于确定出特征点在屏幕中显示时的三维坐标,然后可以将指定标定板中各个特征点的三维坐标与特征点的序号一一对应关联起来,以便于后续利用特征点的序号,将特征点的二维坐标与三维坐标进行对应关联,来得到标定数据。
示例性地,假设图2中的三块屏幕均为LED屏幕,三块LED屏幕各自包括3行3列共9个LED箱体,其中,同一屏幕中的LED箱体的尺寸是已知且相同的,LED箱体可以理解为LED屏幕的组成单元,在实际应用中,例如可以直接配置每个LED屏幕采用3行3列共9个标定单元的指定标定板,每个标定单元的尺寸采用LED箱体的尺寸,每个指定标定板显示在LED屏幕的整个区域,每个LED箱体显示一个指定标定单元,由此可以得到如图5示出的三块LED屏幕中指定标定板的显示效果。
在实际应用中,例如可以通过图6示出的一种配置界面的示意图,配置出上述3块屏幕各自对应的指定标定板,具体地,可以通过配置LED箱体的尺寸(也即LED箱体高度和LED箱体宽度)、LED屏幕中上下左右留白的行数或列数,以及LED箱体中显示的特征点密度,来实现配置标定板中标定单元的尺寸、标定板中标定单元的行数和列数以及标定板在屏幕中的显示区域,从而使配置的指定标定板能够适配不同的LED屏幕;基于图6中示出的配置结果可以得到图7示出的各个指定标定板在屏幕中的显示效果。
其中,配置LED箱体中显示的特征点密度可以理解为配置单个LED箱体中显示的特征点数量,或者说配置单个LED箱体中显示的标定单元的数量,例如图6中对于LED屏幕021和022分别配置的特征点密度为2,相当于配置LED屏幕021和022中每个LED箱体显示4个特征点,也即显示4个标定单元,而对于LED屏幕023配置的特征点密度为1,相当于配置LED屏幕023中每个LED箱体显示1个特征点,也即显示1个标定单元,那么由于LED箱体的尺寸是已知的,在配置好LED箱体中显示的标定单元的数量后,便可以得到指定标定板中标定单元的尺寸,相当于实现配置标定板中标定单元的尺寸;
以及,配置LED屏幕中上下左右留白的行数或列数,可以理解为,配置指定标定板有几行和几列标定单元不在LED屏幕中显示,同时由于LED屏幕中LED箱体的行数和列数是已知的,在配置好LED箱体中显示的标定单元的数量以及LED屏幕中上下左右留白的行数或列数后,便可以确定出标定板中标定单元的行数和列数以及标定板在屏幕中的显示区域,例如,图6中对屏幕021设置的上下左右分别留白1行,同时特征点密度为2,也就意味着,屏幕021的指定标定板应为6行6列标定单元,但上下左右各有一行留白,使得LED屏幕021中显示的指定标定板中标定单元实际显示有4行4列,该指定标定板会显示在LED屏幕的中间区域,参照图7中屏幕021中指定标定板的显示效果;图6中对LED屏幕022设置的上侧和左侧分别留白2行、下侧和右侧不留白(也即留白0行),也就意味着,屏幕022的指定标定板应为6行6列标定单元,但左侧和上侧各两行留白,使得LED屏幕022中显示的指定标定板中标定单元实际有4行4列,但该指定标定板会显示在LED屏幕的右下区域,参照图7中屏幕022中指定标定板的显示效果;图6中对于LED屏幕023设置的上下左右均留白0行,也即均不留白,且特征点密度为1,也就意味着,LED屏幕023对应指定标定板中标定单元有3行3列,该指定标定板会显示在LED屏幕整个区域,参照图7中屏幕023中指定标定板的显示效果。其中,通过配置指定标定的显示区域、标定单元的尺寸以及行数和列数等,能够让指定标定板无需显示在整个屏幕,从而减少屏幕被遮挡等因素带来的干扰,提高指定标定板的稳定性和有效性。
应理解的是,上述图6示出的配置界面中的配置方式是本公开实施例提供的一种可能的实现方式,实际上,本领域技术人员可以根据实际需求自定义设计指定标定板的配置方式以及对应的配置界面,只要能针对各块屏幕实现单独配置指定标定板即可,对此本公开实施例不作限制。
步骤S32,在多块屏幕已显示各自对应的指定标定板的情况下,控制摄像机在不同位姿下对多块屏幕进行图像采集,得到摄像机采集的多张图像。
可理解,不同于传统的网格点标定板,本公开实施例的指定标定板自带特征点定位功能,也即可以通过识别ArUco码来定位特征点的序号,因此在进行图像采集时,摄像机无需将指定标定板(或者说屏幕)拍全,可以对着屏幕的任意位置和任意角度进行拍摄,只要拍摄的图像中包含指定标定板即可,不同位姿(也即不同位置和不同角度)下拍摄的图像都能作为有效图像完成后续特征点检测,如果每个位姿下拍摄的图像中能够包含多块屏幕,即便拍摄到的图像中的多块屏幕没有被拍全(也即多块屏幕显示的指定标定板没有被拍全)使得图像中缺少部分ArUco码,每种位姿下也只需拍摄一张图像,就可以满足标定要求,缩短了图像采集时间,提高了有效图像采集的成功率,也采集到多张图像中有效图像更多。
步骤S33,对摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,特征点信息包括特征点的序号以及特征点在图像中的二维坐标。
在实际应用中,可以利用本领域已知的ArUco检测算法,对摄像机采集的多张图像进行特征点检测,算法会检测图像中ArUco码的四个顶点处的角点以及这个ArUco码的编码码值,也即算法会检测出每张图像中ArUco码之间连接处的角点以及码值,然后可以依据两个相同ArUco码之间连接处的角点为特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号的原则,从检测出的角点中确定出特征点,并将两个相同码值的ArUco码的码值作为两个相同ArUco码之间的特征点的序号,并且可以特征点在图像中的图像坐标也即该特征点的二维坐标,也即得到特征点的特征点信息。
在实际应用中,为避免图像中噪声背景对特征点检测影响,还可以先将摄像机采集的图像转换成二值化图像(也即由像素0和1组成的图像),再利用ArUco检测算法对二值化图像进行特征点检测,在一种可能的实现方式中,所述对摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,包括:
步骤S331,将摄像机采集的每张图像转换成灰度图并对灰度图进行二值化处理,得到每张图像对应的二值化图像;
步骤S332,利用ArUco检测算法检测二值化图像中ArUco码之间连接处的角点以及码值,得到ArUco检测结果,ArUco检测结果包括检测出的角点以及检测出的ArUco码的码值;
步骤S333,根据ArUco检测结果中检测出的ArUco码的码值以及检测出的角点在二值化图像中的二维坐标,从检测出的角点中确定出特征点并确定特征点的特征点信息。
在实际应用中,本领域技术人员可以采用本领域已知的图像处理技术,例如OpenCV,实现将摄像机采集的每张图像转换成灰度图并对灰度图进行二值化处理,得到每张图像对应的二值化图像,对此本公开实施例不作限制。例如,图8示出摄像机拍摄的一张图像,图9示出该图像对应的二值化图像。
示例性地,图10示出利用ArUco检测算法对图9的二值化图像进行检测所得到的ArUco检测结果,如图10所示,ArUco码上标识出的id的值(例如id=20)代表检测出的ArUco码的码值,红色圆点代表检测出的角点,进而可以基于两个相同ArUco码之间连接处的角点为特征点,两个相同ArUco码的码值用于表征特征点的序号的原则,根据图10中检测出的ArUco码的码值,从图10中检测出的角点中确定出特征点以及特征点的特征信息,例如,两个“id=20”的ArUco码之间连接处的角点为两个“id=20”的ArUco码所在标定单元的特征点,该特征点的序号为20,进而该两个“id=20”的ArUco码之间连接处的角点在二值化图像中的二维坐标可以确定为序号为20的特征点的二维坐标。
考虑到,实际情况中由于ArUco检测算法的稳定性较低,在图像模糊、存在摩尔纹或者采集偏角较大的情况下,都会出现角点和码值检测不到或检测不准的情况,降低了特征点检测效率和检测精度。也即,如图10所示,实际情况中还可能出现二值化图像中存在部分未被ArUco检测算法检测出的ArUco码的角点以及码值,使得二值化图像中存在未确定出的特征点的情况,在该情况下,所述方法还可以包括:
步骤S334,将利用ArUco检测算结果所确定出的特征点信息添加到预设的候选集中;
步骤S335,利用角点检测算法对二值化图像中的角点进行检测,得到角点检测结果,角点检测结果包括二值化图像中的全部角点;
步骤S336,根据角点检测结果以及候选集,确定二值化图像中未确定出的特征点以及二值化图像中未确定出的特征点的特征点信息。
其中,步骤S334中将利用ArUco检测算结果所确定出的特征点信息,也即利用上述步骤S331至步骤S333所得到的特征点信息。
在实际应用中,本领域技术人员可以采用本领域已知的角点检测算法,例如,Harris角点检测算、KLT角点检测算法等,实现对二值化图像中的角点进行检测,得到二值化图像中的全部角点,对此本公开实施例不作限制。例如,图11示出利用角点检测算法对图9的二值化图像进行检测所得到的角点检测结果,如图11所示,角点检测算法可以检测出图像中的全部角点。
在一种可能的实现方式中,步骤S336,根据角点检测结果以及候选集,确定二值化图像中未确定出的特征点以及二值化图像中未确定出的特征点的特征点信息,包括:
步骤S3361,针对候选集中的任一特征点信息,根据特征点信息中的第一序号,确定与第一序号指示的特征点对应的多个最邻近点的第二序号,多个最邻近点表征在多个方向上分别与第一序号指示的特征点之间距离最近的多个特征点;
步骤S3362,根据多个最近邻点的第二序号,判断多个最近邻点的第二序号中是否包括不存在于候选集中的第三序号;
步骤S3363,在多个最近邻点的第二序号中包括不存在于候选集中的第三序号的情况下,根据特征点信息中第一序号指示的特征点的二维坐标,预估第三序号指示的最近邻点的二维坐标;
步骤S3364,根据第三序号指示的最近邻点的二维坐标,从角点检测结果中确定出与第三序号指示的最近邻点相匹配的第一角点并将第一角点确定为特征点,以及,将第三序号作为第一角点的序号,将第一角点在二值化图像中的二维坐标作为第一角点的二维坐标,其中,二值化图像中未确定出的特征点包括第一角点。
如上所述,指定标定板中特征点的序号是顺序排列的,在步骤S3361中,可以按照特征点的序号,依次执行上述步骤S3361至步骤S3364。需要说明的是,本公开实施例及权利要求中的“第一”、“第二”以及“第三”等前缀仅用于区分不同的对象(如区分序号),而不是用于描述特定顺序,例如,第一序号为候选集中当前处理的某个序号,并不特指第一个序号,第二序号可能在第一序号之前也可能在之后,第三序号是第二序号中的某个序号,而并非之前或之后的序号。
在实际应用中,由于指定标定板中特征点的序号是顺序排列的,因此针对候选集中当前处理的第一序号,可以依照顺序排列的规则,得到以该第一序号指示的特征点在上下左右四个方向与该特征点相邻的(也即距离最近的)多个最近邻点的第三序号,这里的“最近邻点”是理论上应该存在的特征点,但实际上这些特征点中的某一些可能在步骤S332中未被检出,因此不存在于候选集中。例如,对于图10中的特征点19(也即序号“19”指示的特征点),与该特征点19上下左右四个方向上的最近邻点的第二序号应该是“13、18、20、25”;然后可以通过步骤S3362判断每个第二序号是否存在于候选集中,相当于判断每个第二序号指示的特征点是否已确定;
其中,如果第二序号中有不存在于候选集中的第三序号,也即多个最近邻点中有未确定的特征点,例如,针对图10中第一序号“19”指示的特征点,若候选集中不存在序号为“13”和“18”指示的最近邻点,那么序号“13”和“18”也即为第三序号,进而可以通过步骤S3363至步骤S3364,从角点检测结果中确定出缺少的序号“13”和“18”所指示的特征点,以增加每张图像中能检测出的有效的特征点的数量,从而提高标定数据的数量,有利于提高摄像机的相机标定精度。
在一种可能的实现方式中,上述步骤S3362中,根据特征点信息中第一序号指示的特征点的二维坐标,预估第三序号指示的最近邻点的二维坐标,包括:
根据多个最邻近点的第二序号,判断与第三序号指示的最近邻点对应的反向点的第四序号是否存在于候选集中,反向点为多个最邻近点中与第三序号指示的最近邻点呈相反方向分布的最邻近点;
在反向点的第四序号存在于候选集中的情况下,根据反向点与第一序号指示的特征点之间的向量,以及第一序号指示的特征点的二维坐标,确定第三序号指示的最近邻点的二维坐标。
这里的“相反方向”,是指相对于第一序号指示的特征点的方向相反。举例来说,对于第一序号19,针对图10中第三序号“13”指示的最近邻点对应的反向点的第四序号是“25”,第三序号“18”指示的最近邻点对应的反向点的第四序号是“20”,也即就是上下最近邻点互为反向点,左右最近邻点互为反向点,由于第四序号“25”和“20”存在于候选集中,因此,可以利用反向点和特征点估算出第三序号指示的特征点的二维坐标,例如,利用反向点20(也即序号20所指示的最近邻点)的二维坐标以及特征点19的二维坐标计算从特征点20到特征点19的向量,然后将该向量与特征点19的二维坐标相加,得到预估的序号“18”指示的最邻近点的二维坐标,由于摄像机存在畸变误差,这样利用向量所计算出的二维坐标与最近邻点18在图像中实际的二维坐标之间可能存在差异,因此可以通过步骤S3364根据第三序号指示的最近邻点的二维坐标,从角点检测结果中确定出与第三序号指示的最近邻点相匹配的第一角点并将第一角点确定为特征点。
在一种可能的实现方式中,步骤S3364,根据第三序号指示的最近邻点的二维坐标,从角点检测结果中确定出与第三序号指示的最近邻点相匹配的第一角点,包括:
根据第三序号指示的最近邻点的二维坐标,从角点检测结果中确定出与第三序号指示的最近邻点之间距离最近的第二角点,并判断第三序号指示的最近邻点与第二角点之间的距离是否小于预设误差阈值;
在第三序号指示的最近邻点与第二角点之间的距离小于预设误差阈值的情况下,将第二角点确定为与第三序号指示的最近邻点相匹配的第一角点。
由于角点检测结果包括二值化图像中全部角点,上述第一角点的确定过程可以理解为,可以在角点检测结果中搜索与第三序号指示的最近邻点之间距离最近的第二角点,其中,距离可以通过两个点的二维坐标计算得到,如果这个第二角点的二维坐标与这个最近邻点的二维坐标之间的距离小于预设误差阈值,则可以认为这个第二角点实际上就是这个最近邻点,也即是与这个最近邻点相匹配的第一角点,因此可以将该第二角点确定为特征点,进而可以将第三序号作为第一角点的序号,将第一角点在二值化图像中的二维坐标作为第一角点的二维坐标。
应理解,在实际应用中,可以针对候选集中每个已确定的特征点,利用角点检测结果重复执行上述步骤S3361至步骤S3364,以确定出利用ArUco检测算结果未确定出的特征点以及特征点信息,直至在一次执行过程中没有新增特征点,这样可以增加每张图像中确定出的特征点的数量。
在实际应用中,所述方法还包括:将第一角点的特征点信息添加到候选集中,以针对第一角点的特征点信息,再次执行根据角点检测结果以及候选集,确定二值化图像中未确定出的特征点以及二值化图像中未确定出的特征点的特征点信息。通过该方式,可以尽可能多地补充每张图像中所能检测出的特征点数量,进而提高标定数据的数量,有利于提高利用标定数据对相机进行相机标定的标定精度。
步骤34,根据每张图像中检测出的特征点的序号,将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对,其中,标定数据包括多张图像中检测出的特征点的坐标对,标定数据用于标定摄像机的相机参数。
应理解,通过上述步骤33可以检测出摄像机拍摄的每张图像中的特征点以及特征点的序号和二维坐标,由于在生成指定标定板时特征点的序号与三维坐标已对应关联,通过上述步骤S33所得到的特征点的序号与二维坐标也是对应关联的,因此通过特征点的序号可以将特征点的二维坐标与三维坐标进行对应关联,得到特征点的坐标对;应理解,每个特征点的坐标对包括这个特征点的二维坐标和三维坐标。
在实际应用中,得到标定数据后,可以采用本领域已知的相机标定算法,实现对摄像机的相机标定,本公开实施例对于相机标定过程不作限制。
根据本公开实施例,提供了一种新的ArUco码排布方式下的标定板,相比普通标定板的特征点检测精度会更高,更容易且更高效检测出特征点,且通过配置不同屏幕对应的指定标定板,能够使指定标定板与不同屏幕适配,且不受图像采集过程中摄像机位姿移动、屏幕被遮挡等情况的影响,采集到有效图像的稳定性更好,也能提高特征点检测成功率,进而提高标定数据的精度和生成效率,有利于提高对摄像机的相机标定精度。
根据本公开实施例,提高了一种基于广度优先搜索的角点重定位算法,通过ArUco检测算法+角点检测算法,大幅提高每次采集能够定位到的特征点的数量,提升了数据采集成功率和效率,也即大幅提高了特征点的检测成功率,在图像模糊、存在摩尔纹或者采集偏角较大的情况下也能有较高的召回。
根据本公开实施例,提供了一种标定板生成策略,能够支持多块LED屏幕同步采集,且不受LED屏幕空间位置关系的限制,提升了标定数据采集的效率,也即通过针对各块屏幕单独配置对应的指定标定,只需使每块屏幕显示一个对应的标定板就可以完成图像采集,不受采集过程中相机移动、动态遮挡等情况的影响,稳定性更好,有效图像的采集成功率更高。
图12示出本公开实施例提供的一种标定数据生成装置的框图,应用于虚拟拍摄系统,所述虚拟拍摄系统包括用于拍摄的摄像机以及用于显示虚拟场景的多块屏幕,如图12所示,所述装置包括:
控制模块121,用于控制虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,其中,每块屏幕对应的指定标定板包括多个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的二维标识码ArUco码,每个标定单元中两个相同ArUco码之间连接处的角点为每个标定单元的特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号,每个特征点的序号与每个特征点在屏幕中显示时的三维坐标对应关联;
采集模块122,用于在所述多块屏幕已显示各自对应的指定标定板的情况下,控制所述摄像机在不同位姿下对所述多块屏幕进行图像采集,得到所述摄像机采集的多张图像;
检测模块123,用于对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,所述特征点信息包括特征点的序号以及特征点在图像中的二维坐标;
关联模块124,用于根据每张图像中检测出的特征点的序号,将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对;其中,所述标定数据包括所述多张图像中检测出的特征点的坐标对,所述标定数据用于标定所述摄像机的相机参数。
在一种可能的实现方式中,对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,包括:将所述摄像机采集的每张图像转换成灰度图并对所述灰度图进行二值化处理,得到每张图像对应的二值化图像;利用ArUco检测算法检测所述二值化图像中ArUco码之间连接处的角点以及码值,得到ArUco检测结果,所述ArUco检测结果包括检测出的角点以及检测出的ArUco码的码值;根据所述ArUco检测结果中检测出的ArUco码的码值以及检测出的角点在所述二值化图像中的二维坐标,从所述检测出的角点中确定出特征点并确定特征点的特征点信息。
在一种可能的实现方式中,在所述二值化图像中存在部分未被所述ArUco检测算法检测出的ArUco码的角点以及码值,使得所述二值化图像中存在未确定出的特征点的情况下,所述装置还包括:角点检测模块,用于将利用所述ArUco检测算结果所确定出的特征点信息添加到预设的候选集中;利用角点检测算法对所述二值化图像中的角点进行检测,得到角点检测结果,所述角点检测结果包括所述二值化图像中的全部角点;根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息。
在一种可能的实现方式中,所述根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息,包括:针对所述候选集中的任一特征点信息,根据所述特征点信息中的第一序号,确定与所述第一序号指示的特征点对应的多个最邻近点的第二序号,所述多个最邻近点表征在多个方向上分别与所述第一序号指示的特征点之间距离最近的多个特征点;根据所述多个最近邻点的第二序号,判断所述多个最近邻点的第二序号中是否包括不存在于所述候选集中的第三序号;在所述多个最近邻点的第二序号中包括不存在于所述候选集中的第三序号的情况下,根据所述特征点信息中所述第一序号指示的特征点的二维坐标,预估所述第三序号指示的最近邻点的二维坐标;根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点相匹配的第一角点并将所述第一角点确定为特征点,以及,将所述第三序号作为所述第一角点的序号,将所述第一角点在所述二值化图像中的二维坐标作为所述第一角点的二维坐标,其中,所述二值化图像中未确定出的特征点包括所述第一角点。
在一种可能的实现方式中,所述根据所述特征点信息中所述第一序号指示的特征点的二维坐标,预估所述第三序号指示的最近邻点的二维坐标,包括:根据所述多个最邻近点的第二序号,判断与所述第三序号指示的最近邻点对应的反向点的第四序号是否存在于所述候选集中,所述反向点为所述多个最邻近点中与所述第三序号指示的最近邻点呈相反方向分布的最邻近点;在所述反向点的第四序号存在于所述候选集中的情况下,根据所述反向点与所述第一序号指示的特征点之间的向量,以及所述第一序号指示的特征点的二维坐标,确定所述第三序号指示的最近邻点的二维坐标。
在一种可能的实现方式中,所述根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点相匹配的第一角点,包括:根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点之间距离最近的第二角点,并判断所述第三序号指示的最近邻点与所述第二角点之间的距离是否小于预设误差阈值;在所述第三序号指示的最近邻点与所述第二角点之间的距离小于预设误差阈值的情况下,将所述第二角点确定为与所述第三序号指示的最近邻点相匹配的第一角点。
在一种可能的实现方式中,所述装置还包括:添加模块,用于将所述第一角点的特征点信息添加到所述候选集中,以针对所述第一角点的特征点信息,再次执行根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息。
在一种可能的实现方式中,所述控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,包括:响应于针对所述各块屏幕的标定板配置操作,确定所述各块屏幕各自对应的指定标定板并控制所述各块屏幕显示各自对应的指定标定板;其中,所述标定板配置操作用于配置以下至少一种:指定标定板中标定单元的尺寸、指定标定板中标定单元的行数和列数、指定标定板在屏幕中的显示区域。
根据本公开实施例,提供了一种新的ArUco码排布方式下的标定板,相比普通标定板的特征点检测精度会更高,更容易且更高效检测出特征点,且通过配置不同屏幕对应的指定标定板,能够使指定标定板与不同屏幕适配,且不受图像采集过程中摄像机位姿移动、屏幕被遮挡等情况的影响,采集到有效图像的稳定性更好,也能提高特征点检测成功率,进而提高标定数据的精度和生成效率,有利于提高对摄像机的相机标定精度。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图13示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一控制设备、服务器或终端设备。参照图13,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出接口1958(I/O接口)。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种标定数据生成方法,应用于虚拟拍摄系统,所述虚拟拍摄系统包括用于拍摄的摄像机以及用于显示虚拟场景的多块屏幕,其特征在于,所述方法包括:
控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,其中,每块屏幕对应的指定标定板包括多个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的二维标识码ArUco码,每个标定单元中两个相同ArUco码之间连接处的角点为每个标定单元的特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号,每个特征点的序号与每个特征点在屏幕中显示时的三维坐标对应关联;
在所述多块屏幕已显示各自对应的指定标定板的情况下,控制所述摄像机在不同位姿下对所述多块屏幕进行图像采集,得到所述摄像机采集的多张图像;
对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,所述特征点信息包括特征点的序号以及特征点在图像中的二维坐标;
根据每张图像中检测出的特征点的序号,将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对;
其中,所述标定数据包括所述多张图像中检测出的特征点的坐标对,所述标定数据用于标定所述摄像机的相机参数。
2.根据权利要求1所述的方法,其特征在于,所述对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,包括:
将所述摄像机采集的每张图像转换成灰度图并对所述灰度图进行二值化处理,得到每张图像对应的二值化图像;
利用ArUco检测算法检测所述二值化图像中ArUco码之间连接处的角点以及码值,得到ArUco检测结果,所述ArUco检测结果包括检测出的角点以及检测出的ArUco码的码值;
根据所述ArUco检测结果中检测出的ArUco码的码值以及检测出的角点在所述二值化图像中的二维坐标,从所述检测出的角点中确定出特征点并确定特征点的特征点信息。
3.根据权利要求2所述的方法,其特征在于,在所述二值化图像中存在部分未被所述ArUco检测算法检测出的ArUco码的角点以及码值,使得所述二值化图像中存在未确定出的特征点的情况下,所述方法还包括:
将利用所述ArUco检测算结果所确定出的特征点信息添加到预设的候选集中;
利用角点检测算法对所述二值化图像中的角点进行检测,得到角点检测结果,所述角点检测结果包括所述二值化图像中的全部角点;
根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息,包括:
针对所述候选集中的任一特征点信息,根据所述特征点信息中的第一序号,确定与所述第一序号指示的特征点对应的多个最邻近点的第二序号,所述多个最邻近点表征在多个方向上分别与所述第一序号指示的特征点之间距离最近的多个特征点;
根据所述多个最近邻点的第二序号,判断所述多个最近邻点的第二序号中是否包括不存在于所述候选集中的第三序号;
在所述多个最近邻点的第二序号中包括不存在于所述候选集中的第三序号的情况下,根据所述特征点信息中所述第一序号指示的特征点的二维坐标,预估所述第三序号指示的最近邻点的二维坐标;
根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点相匹配的第一角点并将所述第一角点确定为特征点,以及,将所述第三序号作为所述第一角点的序号,将所述第一角点在所述二值化图像中的二维坐标作为所述第一角点的二维坐标,其中,所述二值化图像中未确定出的特征点包括所述第一角点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述特征点信息中所述第一序号指示的特征点的二维坐标,预估所述第三序号指示的最近邻点的二维坐标,包括:
根据所述多个最邻近点的第二序号,判断与所述第三序号指示的最近邻点对应的反向点的第四序号是否存在于所述候选集中,所述反向点为所述多个最邻近点中与所述第三序号指示的最近邻点呈相反方向分布的最邻近点;
在所述反向点的第四序号存在于所述候选集中的情况下,根据所述反向点与所述第一序号指示的特征点之间的向量,以及所述第一序号指示的特征点的二维坐标,确定所述第三序号指示的最近邻点的二维坐标。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点相匹配的第一角点,包括:
根据所述第三序号指示的最近邻点的二维坐标,从所述角点检测结果中确定出与所述第三序号指示的最近邻点之间距离最近的第二角点,并判断所述第三序号指示的最近邻点与所述第二角点之间的距离是否小于预设误差阈值;
在所述第三序号指示的最近邻点与所述第二角点之间的距离小于预设误差阈值的情况下,将所述第二角点确定为与所述第三序号指示的最近邻点相匹配的第一角点。
7.根据权利要求4至5任一项所述的方法,其特征在于,所述方法还包括:
将所述第一角点的特征点信息添加到所述候选集中,以针对所述第一角点的特征点信息,再次执行根据所述角点检测结果以及所述候选集,确定所述二值化图像中未确定出的特征点以及所述二值化图像中未确定出的特征点的特征点信息。
8.根据权利要求1所述的方法,其特征在于,所述控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,包括:
响应于针对所述各块屏幕的标定板配置操作,确定所述各块屏幕各自对应的指定标定板并控制所述各块屏幕显示各自对应的指定标定板;其中,所述标定板配置操作用于配置以下至少一种:指定标定板中标定单元的尺寸、指定标定板中标定单元的行数和列数、指定标定板在屏幕中的显示区域。
9.一种标定数据生成装置,应用于虚拟拍摄系统,所述虚拟拍摄系统包括用于拍摄的摄像机以及用于显示虚拟场景的多块屏幕,其特征在于,所述方法包括:
控制模块,用于控制所述虚拟拍摄系统中的各块屏幕显示各自对应的指定标定板,其中,每块屏幕对应的指定标定板包括多个标定单元,每个标定单元包括沿对角线相邻分布的两个相同的二维标识码ArUco码,每个标定单元中两个相同ArUco码之间连接处的角点为每个标定单元的特征点,每个标定单元中两个相同ArUco码的码值用于表征每个标定单元的特征点的序号,每个特征点的序号与每个特征点在屏幕中显示时的三维坐标对应关联;
采集模块,用于在所述多块屏幕已显示各自对应的指定标定板的情况下,控制所述摄像机在不同位姿下对所述多块屏幕进行图像采集,得到所述摄像机采集的多张图像;
检测模块,用于对所述摄像机采集的多张图像进行特征点检测,得到每张图像中检测出的特征点以及检测出的特征点的特征点信息,所述特征点信息包括特征点的序号以及特征点在图像中的二维坐标;
关联模块,用于根据每张图像中检测出的特征点的序号,将每张图像中检测出的特征点在图像中的二维坐标与在屏幕中显示时的三维坐标对应关联,得到每张图像中检测出的特征点的坐标对;其中,所述标定数据包括所述多张图像中检测出的特征点的坐标对,所述标定数据用于标定所述摄像机的相机参数。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为在执行所述存储器存储的指令时,实现权利要求1至8中任意一项所述的方法。
11.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
CN202310902384.5A 2023-07-20 2023-07-20 标定数据生成方法、装置、电子设备及存储介质 Pending CN116912331A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310902384.5A CN116912331A (zh) 2023-07-20 2023-07-20 标定数据生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310902384.5A CN116912331A (zh) 2023-07-20 2023-07-20 标定数据生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116912331A true CN116912331A (zh) 2023-10-20

Family

ID=88352737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310902384.5A Pending CN116912331A (zh) 2023-07-20 2023-07-20 标定数据生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116912331A (zh)

Similar Documents

Publication Publication Date Title
US10699476B2 (en) Generating a merged, fused three-dimensional point cloud based on captured images of a scene
CN109242961B (zh) 一种脸部建模方法、装置、电子设备和计算机可读介质
KR101121034B1 (ko) 복수의 이미지들로부터 카메라 파라미터를 얻기 위한 시스템과 방법 및 이들의 컴퓨터 프로그램 제품
US10924729B2 (en) Method and device for calibration
CN110189322B (zh) 平整度检测方法、装置、设备、存储介质及系统
US10915998B2 (en) Image processing method and device
JP6590792B2 (ja) 3d映像を補正する方法、装置及び表示システム
US11282232B2 (en) Camera calibration using depth data
JPWO2018235163A1 (ja) キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法
KR20160031967A (ko) 멀티 프로젝션 시스템 및 이의 프로젝터 캘리브레이션 방법
WO2022105415A1 (zh) 关键帧图像的采集方法、装置、系统和三维重建方法
US10091490B2 (en) Scan recommendations
WO2016155110A1 (zh) 图像透视畸变校正的方法及系统
JP7204021B2 (ja) 画像の鮮鋭レベルを表わす位置合わせ誤差マップを得るための装置および方法
WO2021035627A1 (zh) 获取深度图的方法、装置及计算机存储介质
CN116524022B (zh) 偏移数据计算方法、图像融合方法、装置及电子设备
JP2005234698A (ja) 歪みパラメータの生成方法及び映像発生方法並びに歪みパラメータ生成装置及び映像発生装置
CN116912331A (zh) 标定数据生成方法、装置、电子设备及存储介质
CN112509058B (zh) 外参的计算方法、装置、电子设备和存储介质
TW201816725A (zh) 擴充實境中基於深度攝影機之遮蔽邊緣品質改善方法
JP2018032991A (ja) 画像表示装置、画像表示方法及び画像表示用コンピュータプログラム
CN112053406B (zh) 成像装置参数标定方法、装置及电子设备
CN117152244A (zh) 屏幕间位置关系确定方法、装置、电子设备及存储介质
US11972512B2 (en) Directional editing of digital images
CN117392235A (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