WO2023216982A1 - 数据处理方法、装置、计算机设备、存储介质及程序产品 - Google Patents

数据处理方法、装置、计算机设备、存储介质及程序产品 Download PDF

Info

Publication number
WO2023216982A1
WO2023216982A1 PCT/CN2023/092217 CN2023092217W WO2023216982A1 WO 2023216982 A1 WO2023216982 A1 WO 2023216982A1 CN 2023092217 W CN2023092217 W CN 2023092217W WO 2023216982 A1 WO2023216982 A1 WO 2023216982A1
Authority
WO
WIPO (PCT)
Prior art keywords
straight line
vanishing point
identification code
identification
vanishing
Prior art date
Application number
PCT/CN2023/092217
Other languages
English (en)
French (fr)
Inventor
陈法圣
林之阳
孙磊
王薷健
陈湘广
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2023216982A1 publication Critical patent/WO2023216982A1/zh

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/10Segmentation; Edge detection
    • G06T7/13Edge detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

一种数据处理方法、装置、计算机设备、存储介质及程序产品,涉及图像处理、虚拟现实等领域,方法包括:获取由相机组件对空间对象进行拍摄得到的图像(S1501);从图像中识别出标识码的标识和角点(S1502);获取阵列中标识码与阵列中标识码的各个边所处直线之间的第一映射关系(S1503);根据第一映射关系和识别出的标识码的角点,拟合出识别出的标识码的各个边所处直线的直线方程(S1504);获取阵列中标识码的各条边所处直线与消失点的第二映射关系(S1505);根据第二映射关系和直线方程,确定识别出的标识码的各个边所处直线对应的消失点(S1506);根据确定出的消失点,标定相机组件的内参(S1507)。

Description

数据处理方法、装置、计算机设备、存储介质及程序产品
本申请要求于2022年5月10日提交中国专利局、申请号为202210500935.0、申请名称为“一种数据处理方法、装置、计算机设备以及可读存储介质”的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算机设备、存储介质及程序产品。
背景技术
目前,在对相机组件的组件内参(即相机内参)进行标定时,需要通过相机组件对标定板(即被拍摄对象)进行多角度拍摄,进而根据多角度拍摄所得到的多张图像,生成相机组件的组件内参;或者,需要通过相机组件对标定板进行视频拍摄,进而根据从视频拍摄所得到的拍摄视频中截取的多张视频帧,生成相机组件的组件内参。然而,通过拍摄的多张图像或截取的多张视频帧生成组件内参的方式,需要花费时间对多张图像进行处理,所以增加了对组件内参进行标定的速度。
此外,相关技术还可以通过在相机组件中安装硬件设备(例如,跟焦器),通过硬件设备直接读取相机组件的组件内参,然而,硬件设备的价格十分昂贵,且安装部署非常麻烦,从而提高了对组件内参进行标定的成本。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备、存储介质和程序产品,有助于提高确定相机内参的效率。
本申请实施例一方面提供了一种数据处理方法,在计算机设备中执行,所述方法包括:
获取由相机组件对空间对象进行拍摄得到的图像,所述空间对象包括下述中任一种:一个平面区域,相互垂直的两个平面区域,以及相互垂直的三个平面区域;其中每个平面区域中包括由多个标识码组成的阵列,所述标识码携带有可识别出唯一标识的信息;
从所述图像中识别出标识码的标识和角点,其中,识别出的标识码的角点为识别出的标识码的各个边上的角点;
获取所述阵列中标识码与所述阵列中标识码的各个边所处直线之间的第一映射关系;
根据所述第一映射关系和识别出的标识码的角点,拟合出所述识别出的标识码的各个边所处直线的直线方程;
获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系;
根据所述第二映射关系和所述直线方程,确定所述识别出的标识码的各个边所处直线对应的消失点;
根据确定出的所述消失点,标定所述相机组件的内参。
本申请实施例一方面提供了一种数据处理装置,包括:
图像获取模块,用于获取由相机组件对空间对象进行拍摄得到的图像,所述空间对象包括下述中任一种:一个平面区域,相互垂直的两个平面区域,以及相互垂直的三个平面区域,以及相互垂直的三个平面区域;其中每个平面区域中包括由多个标识码组成的阵列,所述标识码携带有可识别出唯一标识的信息;
识别单元,从所述图像中识别出标识码的标识和角点,其中,识别出的标识码的角点为识别出的标识码的各个边上的角点;
直线拟合单元,用于获取所述阵列中标识码与所述阵列中标识码的各个边所处直线之间的第一映射关系,根据所述第一映射关系和识别出的标识码的角点,拟合出所述识别出的标识码的各个边所处直线的直线方程;
消失点确定单元,获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系;根据所述第二映射关系和所述直线方程,确定所述识别出的标识码的各个边所处直线对应的消失点;
标定单元,用于根据确定出的所述消失点,标定所述相机组件的内参。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例提供的方法。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2a是本申请实施例提供的一种进行数据交互的场景示意图一;
图2b是本申请实施例提供的一种进行数据交互的场景示意图二;
图2c是本申请实施例提供的一种进行数据交互的场景示意图三;
图3是本申请实施例提供的一种数据处理方法的流程示意图一;
图4是本申请实施例提供的一种识别标识码的场景示意图;
图5是本申请实施例提供的一种确定组件内参的流程示意图;
图6是本申请实施例提供的一种预先分配内存的流程示意图;
图7是本申请实施例提供的一种数据处理方法的流程示意图二;
图8是本申请实施例提供的一种分配直线标识的场景示意图;
图9是本申请实施例提供的一种确定消失点标识的场景示意图;
图10是本申请实施例提供的一种数据处理方法的流程示意图三;
图11是本申请实施例提供的一种确定直线方程的流程示意图;
图12是本申请实施例提供的一种数据处理方法的流程示意图四;
图13是本申请实施例提供的一种确定消失点坐标的流程示意图;
图14是本申请实施例提供的一种数据处理方法的流程示意图五;
图15示出了根据本申请实施例所述的一种数据处理方法1500的流程图;
图16是本申请实施例提供的一种数据处理装置的结构示意图;
图17是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
具体的,请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器2000和终端设备集群。其中,终端设备集群具体可以包括一个或者多个终端设备,这里将不对终端设备集群中的终端设备的数量进行限定。如图1所示,多个终端设备具体可以包括终端设备3000a、终端设备3000b、终端设备3000c、…、终端设备3000n;终端设备3000a、终端设备3000b、终端设备3000c、…、终端设备3000n可以分别与服务器2000通过有线或无线通信方式进行直接或间接地网络连接,以便于每个终端设备可以通过该网络连接与服务器2000之间进行数据 交互。
其中,终端设备集群中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能家电、可穿戴设备、车载终端、智能语音交互设备、照相机等具有数据处理功能的智能终端。为便于理解,本申请实施例可以在图1所示的多个终端设备中选择一个终端设备作为目标终端设备。例如,本申请实施例可以将图1所示的终端设备3000b作为目标终端设备。
其中,服务器2000可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
应当理解,目标终端设备上可以集成有用于采集与空间对象相关联的目标图像的相机组件,这里的相机组件可以为目标终端设备上用于拍摄照片或视频的相机组件,例如为摄像头。其中,一个目标终端设备上可以集成安装有多个相机组件。其中,空间对象可以为二维码绿幕,二维码绿幕表示印有二维码的绿幕。可选的,空间对象还可以为棋盘格绿幕,棋盘格绿幕表示印有纯色(例如,黑色)的矩形框的绿幕。此外,空间对象还可以包括拍摄主体(例如,狮子)。应当理解,本申请实施例以空间对象为二维码绿幕为例进行说明。
其中,二维码绿幕可以为三个面:左面墙+右面墙+地面。可选的,二维码绿幕也可以为左面墙+右面墙+地面中的任意一个面,二维码绿幕还可以为左面墙+右面墙+地面中的任意两个面。二维码绿幕中的所有二维码都有唯一的图案及编号,使用标识码检测算法(例如二维码检测算法)能够在目标图像中将其检测到,并准确获取其在目标图像上的角点坐标。其中,对于单个二维码而言,二维码边框(即二维码的外接矩形)所形成的四个顶点可以称之为二维码角点,四个二维码角点围成的四边形的四个边即为上边、下边、左边和右边。
可以理解的是,本申请可以将能够被二维码检测算法正确识别出来的二维码称之为可观测二维码。可以理解的是,当二维码被遮挡、二维码不清晰、或者二维码部分区域超出目标图像的画面边界后,二维码检测算法会无法检测到二维码,此时,这样的二维码不算作可观测二维码。
为便于理解,本申请可以将二维码绿幕中的二维码称之为标识码或者标识码。在一个实施例中,本申请可以将二维码的上边、下边、左边和右边统称为标识码对应的空间线段,本申请可以将二维码的二维码角点称之为空间角点。
应当理解,上述网络架构可以应用于虚实融合领域,例如,视频制作(虚拟制片)、直播、后期视频特效中的虚实融合。虚实融合指的是将真实拍摄主体植入到虚拟场景中,相比于传统完全实拍的方法,虚实融合能够方便地替换场景,大大降低布置场景的成本开销(虚实融合只需绿幕),并能提供非常炫酷的环境效果。此外,虚实融合也与VR(Virtual Reality,虚拟现实)、元宇宙、全真互联网等概念高度契合,能够为其提供非常基础的将真人植入到虚拟场景的能力。
可以理解的是,目标终端设备可以通过相机组件(即真实镜头)拍摄真实场景,并从服务器2000中获取虚拟场景,对虚拟场景和真实场景进行融合,得到融合场景。其中,虚拟场景可以为服务器2000直接合成的场景,也可以为服务器2000从除目标终端设备之外的其他终端设备处所获取的场景,除目标终端设备之外的其他终端设备可以通过相机组件(即虚拟镜头)拍摄虚拟场景。
本申请的虚实融合方法需要拍摄前对相机组件进行标定,保证后续合成的画面观感正确(透视关系正确)。其中,为保证虚拟场景与真实场景之间的透视关系正确,目标终端设备需要保证虚拟场景与真实场景分别对应的组件内参(即相机内参)相匹配,因此,通过对目标终端设备所拍摄的目标图像进行识别,可以得到目标终端设备中的相机组件针对目标图像的组件内参,进而可以调整相机组件所对应的组件内参,根据调整组件内参后的相机组件对被拍摄对象进行拍摄,最终得到透视关系正确的融合场景。其中,相机组件的组件内参即为相机内参,相机内参可以包括但不限于光心和焦距。
为便于理解,进一步地,请参见图2a、图2b和图2c,图2a是本申请实施例提供的一种进行数据交互的场景示意图一,图2b是本申请实施例提供的一种进行数据交互的场景示意图二,图2c是本申请实施例提供的一种进行数据交互的场景示意图三。如图2a所示的服务器20a可以为上述图1所对应实施例中的服务器2000,如图2a、图2b和图2c所示的终端设备20b可以为上述图1所对应实施例中的目标终端设备。其中,目标终端设备对应的用户可以为对象20c,目标终端设备中集成有相机组件。
如图2a所示,对象20c可以通过终端设备20b中的相机组件对空间对象进行拍摄,得到目标图像。其中,目标图像可以为拍摄组件直接拍摄的照片、也可以为从拍摄组件所拍摄的视频中所截取的图像。空间对象可以包括左面墙21a、右面墙21b、地面区域21c中两个平面区域或者三个平面区域。拍摄主体22b可以是站在地面区域21c上的狮子。左面墙21a和右面墙21b之后可以安装有铝合金支架,通过铝合金支架对左面墙21a和右面墙21b起支撑作用。
其中,空间对象的平面区域对应于至少两个坐标轴,至少两个坐标轴中的每两个坐标轴用于构成空间平面(即左面墙21a、右面墙21b、地面区域21c所处的平面),每两个坐标轴相互垂直。如图2a所示,空间对象可以对应于三个坐标轴,三个坐标轴具体可以为x轴、y轴和z轴,三个坐标轴中的每两个坐标轴可以用于构成空间平面,x轴和z轴可以用于构成左边墙21a所形成的空间平面,y轴和z轴可以用于构成右面墙21b所处的空间平面,x轴和y轴可以用于构成地面区域21c所处的空间平面。其中,平面区域包括具有相同尺寸的标识码组合的阵列,标识码的边缘轮廓为矩形,例如,左边墙21a可以包括标识码22a,如图2a示出了标识码22a对应的边缘轮廓。应当理解,本申请实施例不对空间平面中的标识码的数量进行限定。
如图2b所示,终端设备20b在拍摄得到目标图像之后,可以在目标图像中获取由标识码的空间线段(即标识码的各边)延伸所形成的直线,例如可以称为空间虚拟直线,例如,阵列中同一行的标识码各自上边可以延伸形成一条空间虚拟直线,空间虚拟直线的数量可以为N个,这里的N可以为正整数,N个空间虚拟直线具体可以包括:空间虚拟直线S1、空间虚拟直线S2、空间虚拟直线S3、…、和空间虚拟直线SN
进一步地,终端设备20b可以为N个空间虚拟直线分配直线标识(也可以称为直线的标识),将空间虚拟直线的直线标识作为空间线段的线段标识。例如,终端设备20b为空间虚拟直线S2所分配的直线标识可以为直线标识K,这样,在处于空间虚拟直线S2上的空间线段为空间线段X1、空间线段X2、…、和空间线段XM时,终端设备20b将直线标识K作为空间线段X1、空间线段X2、…、和空间线段XM的线段标识,即空间线段X1、空间线段X2、…、和空间线段XM的线段标识为直线标识K(即线段标识K)。
如图2b所示,终端设备20b可以确定N个空间虚拟直线所分别映射的消失点标识,一个消失点标识对应于一个消失点,消失点的数量例如为2或者3。消失点表示现实世界中的平行线在图像中的视觉相交点,即本申请实施例可以将目标图像中空间虚拟直线的相交点称之为消失点。例如,终端设备20b可以确定空间虚拟直线S1所映射的消失点标识为消失点标识B1、空间虚拟直线S2所映射的消失点标识为消失点标识B1、空间虚拟直线S3所映射的消失点标识为消失点标识B2、…、和空间虚拟直线SN所映射的消失点标识为消失点标识B3
如图2b所示,终端设备20b可以根据线段标识和空间线段中的空间角点的角点坐标,生成空间虚拟直线的直线方程。例如,终端设备20b可以根据空间线段X1、空间线段X2、…、和空间线段XM的线段标识K,以及空间线段X1、空间线段X2、…、和空间线段XM中的空间角点的角点坐标,生成空间虚拟直线S2的直线方程C2。其中,空间虚拟直线S2的直线标识为直线标识K。
进一步地,终端设备20b可以根据消失点标识和直线方程,生成消失点标识所指示的消失点的消失点坐标。具体的,终端设备20b可以根据消失点标识和消失点标识所映射的空间虚拟直线的直线方程,生成消失点标识所指示的消失点的消失点坐标。例如,终端设备20b可以根据消失点标识B1所映射的空间虚拟直线(消失点标识B1所映射的空间虚拟直线包括空间虚拟直线S1和空间虚拟直线S2)的直线方程,生成消失点标识B1所指示的消失点的消失点坐标,消失点标识B1所指示的消失点的消失点坐标可以为消失点坐标Z1。同理,消失点标识B2所指示的消失点的消失点坐标可以为消失点坐标Z2,消失点标识B3所指示的消失点的消失点坐标可以为消失点坐标Z3
如图2b所示,终端设备20b可以基于消失点坐标Z1、消失点坐标Z2和消失点坐标Z3确定终端设备20b中的相机组件针对目标图像的组件内参。与此同时,如图2a所示,终端设备20b还可以从服务器20a获取用于进行虚实融合的虚拟场景,这里的虚拟场景可以为图2c所示的虚拟场景23a。
如图2c所示,终端设备20b在确定终端设备20b中的相机组件针对目标图像的组件内参以及从服务器20a获取虚拟场景23a之后,可以基于组件内参将目标图像中的拍摄主体22b植入到虚拟场景23a 中,得到透视关系正确的融合场景23b。
由此可见,本申请实施例可以对相机组件所拍摄的单张目标图像进行处理,实时得到目标图像中与x轴、y轴、z轴平行的空间虚拟直线,并准确计算每组平行线的消失点,进而根据空间虚拟直线所形成的消失点的消失点坐标,对相机组件的组件内参进行标定。本申请实施例可以实现通过单张图像确定相机组件的组件内参,不需要对多张图像进行处理,且无需使用硬件设备对组件内参进行标定,这会明显降低对组件内参进行标定的成本和提高了标定的效率。
虚实融合需要标定相机组件,本申请实施例通过配合空间对象可以支持实时光学变焦(例如,希区柯克变焦)的拍摄手法,能够制作非常炫酷画面效果的视频,从而提升虚实融合的观影体验,吸引更多用户。此外,本申请可以在保证清晰度的同时,大大降低支持光学变焦的硬件成本,能够降低硬件门槛,手机、普通相机、专业摄像机均可使用,安装、部署、操作简单,且降低用户使用门槛,吸引更多视频制作用户,与此同时,空间对象还能辅助抠图、运镜。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图一。该方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备共同执行,该服务器可以为上述图2a所对应实施例中的服务器20a,该终端设备可以为上述图2a所对应实施例中的终端设备20b。为便于理解,本申请实施例以该方法由终端设备执行为例进行说明。其中,该数据处理方法可以包括以下步骤S101至步骤S104:
步骤S101,获取与空间对象相关联的目标图像;
其中,目标图像是由拍摄组件对空间对象进行拍摄所得到的;空间对象包括标识码组成的阵列。识码的外接矩形可以认为是标识码的轮廓,包括4个边。简言之,标识码可以包括4个边,即4个空间线段。因此,目标图像中也可以包括阵列中至少一部分标识码,目标图像中可以被标识码检测算法所检测到的标识码为可观测标识码(例如可观测二维码)。
步骤S102,在目标图像中,获取由空间线段所构成的空间虚拟直线,将空间虚拟直线的直线标识作为空间线段的线段标识,确定空间虚拟直线所映射的消失点标识;
可以理解的是,终端设备可以使用标识码检测算法识别目标图像中的标识码,进而对标识码中处于阵列中同行且同一侧的的空间线段(例如为一行中各标识码的上侧的空间线段,即同行中各标识码的上边)进行连接,通过延伸所连接的空间线段,得到空间虚拟直线。又例如,对标识码中处于阵列中同列且同一侧的空间线段(例如为一行中各标识码的左侧边)进行连接,通过延伸所连接的空间线段,得到空间虚拟直线。此外,在识别出目标图像中的标识码时,终端设备可以生成标识码中的空间角点在目标图像中的角点坐标。
应当理解,标识码检测算法可以为任意开源算法,例如,opencv(一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库)中的aruco(Augmented Reality University of Cordoba)标识码检测算法。aruco标识码检测算法的执行流程为:检测候选框、四边形识别、靶标过滤和角点修正。经过标识码检测算法检测后,即可得到所有可观测标识码的标识(即单元码标)、以及每个可观测标识码的4个空间角点的二维坐标。
可以理解的是,终端设备可以为标识码分配单元码标,将单元码标和标识码所包含的空间线段的线段标识关联存储至第一表格(即表格T1)中。因此,表格T1可以用于通过单元码标查询组成标识码的空间线段的线段标识(即直线标识),一个单元码标可以查到上边所处直线、下边所处直线、左边所处直线和右边所处直线分别对应的四个线段标识,即一个单元码标可以查到上边所处直线、下边所处直线、左边所处直线和右边所处直线分别所属的空间虚拟直线的直线标识。
可以理解的是,终端设备可以将空间虚拟直线的直线标识和空间虚拟直线所映射的消失点标识关联存储至第二表格(即表格T2)中。因此,表格T2可以用于通过直线标识查询消失点标识,一个直线标识可以查到一个消失点标识。其中,终端设备可以按照x轴、y轴和z轴,将空间虚拟直线分为3组互相垂直的空间虚拟直线),每组空间虚拟直线对应一个消失点标识。
为便于理解,请参见图4,图4是本申请实施例提供的一种识别标识码的场景示意图。如图4所示的空间平面40a可以为空间对象对应的任意两个坐标轴所构成的空间平面,空间平面40a中的深色区域所形成正方形即为标识码。通过标识码检测算法可以从空间平面40a中检测得到标识码,检测得 到的标识码可以通过矩形框进行标记,例如,从空间平面40a中检测得到的标识码可以为标识码40b。
步骤S103,根据线段标识和空间线段中的空间角点的角点坐标,生成空间虚拟直线的直线方程;
具体的,终端设备可以根据线段标识确定空间线段所属的空间虚拟直线,将空间线段中的空间角点的角点坐标作为空间虚拟直线上的关键点坐标。进一步地,终端设备可以基于关键点坐标生成空间虚拟直线的直线方程。
可以理解的是,终端设备可以获取目标图像对应的空间坐标轴所构成的一个或多个空间平面,根据一个或多个空间平面确定目标图像中的最大标识码数量,根据最大标识码数量确定空间虚拟直线所对应的最大关键点数量。
进一步地,终端设备可以根据最大关键点数量和空间虚拟直线的直线数量,生成直线拟合矩阵,将空间虚拟直线的直线标识和空间虚拟直线上的关键点坐标关联存储至直线拟合矩阵。其中,直线拟合矩阵可以表示为Dline,直线拟合矩阵Dline为二维矩阵,矩阵的高为所有空间虚拟直线的数量,即Nmax=4*(a+b+c),宽度为N,直线拟合矩阵Dline中的每个元素为一对实数坐标。一行代表一个空间虚拟直线上的空间角点的二维坐标。直线拟合矩阵Dline可以用于执行步骤S103中的基于关键点坐标生成空间虚拟直线的直线方程的步骤。
其中,终端设备在获取空间虚拟直线上的关键点坐标之前,需要对直线拟合矩阵Dline中的每个元素进行初始化。例如,本申请实施例可以将直线拟合矩阵Dline中的每个元素初始化为[-1,-1]。应当理解,本申请实施例不对直线拟合矩阵Dline中的每个元素的初始化值进行限定。
可以理解的是,终端设备可以根据空间虚拟直线的直线数量和直线方程中的直线参数的参数数量,生成直线方程存储矩阵,将空间虚拟直线的直线标识和空间虚拟直线对应的直线参数关联存储至直线方程存储矩阵。其中,直线方程存储矩阵可以表示为Dpoint,直线方程存储矩阵Dpoint为二维矩阵,矩阵的高为所有空间虚拟直线的数量,即Nmax=4*(a+b+c),宽度为3,直线方程存储矩阵Dpoint中的每个元素为一个实数。一行代表一个空间虚拟直线的直线方程的直线参数,通过3个直线参数可以确定一个空间虚拟直线的直线方程。直线方程存储矩阵Dpoint可以用于执行步骤S104中的根据消失点标识和直线方程,生成消失点标识所指示的消失点的消失点坐标的步骤。
其中,终端设备在获取直线方程中的直线参数之前,需要对直线方程存储矩阵Dpoint中的每个元素进行初始化。例如,本申请实施例可以将直线方程存储矩阵Dpoint中的每个元素初始化为-1。应当理解,本申请实施例不对直线方程存储矩阵Dpoint中的每个元素的初始化值进行限定。
其中,本申请实施例可以将与x轴垂直的平面(右面墙)称之为平面x,将与y轴垂直的平面(左面墙)称之为平面y,将与z轴垂直的平面(地面)称之为平面z。平面x上有c(z轴方向)乘b(y轴方向)个标识码,平面y上有c(z轴方向)乘a(x轴方向)个标识码,平面z上有a(x轴方向)乘b(y轴方向)个标识码。最大标识码数量可以表示为max(a,b,c),最大关键点数量(即N)可以表示为N=2*max(a,b,c)。可以理解的是,最大关键点数量可以表示空间虚拟直线上的最大空间角点数量,也可以表示单个消失点可能用到的最大空间虚拟直线的数量。
其中,为便于理解,本申请实施例以平面x和平面y在z轴方向上的标识码的数量均为c个为例进行说明,本申请实施例以平面z和平面x在y轴方向上的标识码的数量均为b个为例进行说明,本申请实施例以平面z和平面y在x轴方向上的标识码的数量均为a个为例进行说明。
可选的,平面x和平面y在z轴方向上的标识码的数量可以是不同的,平面z和平面x在y轴方向上的标识码的数量可以是不同的,平面z和平面y在x轴方向上的标识码的数量可以是不同的。此时,c表示平面x和平面y在z轴方向上的标识码的数量中的较大值,b表示平面z和平面x在y轴方向上的标识码的数量中的较大值,a表示平面z和平面y在x轴方向上的标识码的数量中的较大值。
可以理解的是,本申请可以基于查表的方式加速消失点坐标的计算,本申请所涉及的表可以包括上述表格T1、表格T2、直线拟合矩阵Dline和直线方程存储矩阵Dpoint。其中,建表所牵涉的所有标识,例如,单元码标、直线标识、消失点标识等,不一定必须按照本申请所述,使用其他的标号方法也可以。
因此,本申请实施例中的初始化方法可以加速空间虚拟直线拟合的速度,避免反复扫描二维码角点所属空间虚拟直线,以及内存的反复占用与释放。其中,空间虚拟直线上最大点数N(即最大关键 点数量),可以用于初始化拟合直线用的内存空间,一次性分配最大可能内存。
为便于理解,请参见图6,图6是本申请实施例提供的一种预先分配内存的流程示意图。如图6所示的流程示意图可以对应于图5所对应实施例中的拟合初始化步骤,在拟合初始化步骤中,可以生成表格T1、表格T2、初始化的直线拟合矩阵和初始化的直线方程存储矩阵,由于表格T1、表格T2、初始化的直线拟合矩阵和初始化的直线方程存储矩阵不因二维码绿幕(即二维码面板)的摆放位置而变化,所以在二维码绿幕的摆放位置未发生变化时,拟合初始化步骤只需运行一遍即可。
如图6所示,终端设备可以根据二维码面板(即空间对象)所构成的三维空间几何关系,创建表格T1和表格T2,表格T1可以用于存储二维码标识和直线标识之间的关系,表格T2可以用于存储直线标识和消失点标识之间的关系。比如,二维码标识为1的二维码可以包括4个空间线段,4个空间线段的线段标识分别是由每个空间线段所属的空间虚拟直线所确定的,例如,4个空间线段所属的空间虚拟直线的直线标识可以为直线标识K1、直线标识K2、直线标识K3和直线标识K4,这样,终端设备可以将二维码标识1、直线标识K1、直线标识K2、直线标识K3和直线标识K4关联存储至表格T1。又比如,终端设备可以将直线标识K和直线标识为K的空间虚拟直线所映射的消失点的消失点标识B关联存储至表格T2
如图6所示,终端设备可以根据直线最大点数(即最大空间角点数量)初始化直线拟合数据,生成直线拟合矩阵,直线拟合矩阵中的每个元素可以存储有初始化值。直线拟合矩阵的行为最大直线数(即最大空间虚拟直线的数量),列为空间虚拟直线上的初始化关键点坐标(例如,[-1,-1])。
如图6所示,终端设备可以根据消失点最大直线数(即最大空间虚拟直线的数量)初始化消失点拟合数据,生成直线方程存储矩阵,直线方程存储矩阵中的每个元素可以存储有初始化值。直线方程存储矩阵的行为最大直线数,列为空间虚拟直线的直线方程中的初始化直线参数(例如,-1)。
步骤S104,根据消失点标识和直线方程,生成消失点标识所指示的消失点的消失点坐标,基于消失点坐标确定相机组件针对目标图像的组件内参。
为便于理解,请参见图5,图5是本申请实施例提供的一种确定组件内参的流程示意图。如图5所示,本申请实施例所提出的基于目标图像确定相机内参的方法可以划分为5个步骤:检测二维码、拟合初始化、拟合直线、拟合消失点和计算相机内参。其中,这里以标识码为二维码为例进行说明。
如图5所示,在检测二维码步骤中,终端设备可以获取通过相机组件拍摄得到的目标图像(即输入图像),通过二维码检测算法对输入图像进行二维码检测,得到输入图像中的二维码的二维码标识(即单元码标)和二维码角点坐标(即空间角点的角点坐标)。
如图5所示,在拟合初始化步骤中,终端设备可以根据二维码面板(即空间对象)所构成的三维空间几何关系,建表得到表格T1和表格T2,表格T1可以用于存储二维码标识和直线标识之间的关系,表格T2可以用于存储直线标识和消失点标识之间的关系。此外,终端设备还可以根据直线最大点数(即最大空间角点数量)初始化直线拟合数据,生成直线拟合矩阵,根据消失点最大直线数(即最大空间虚拟直线的数量)初始化消失点拟合数据,生成直线方程存储矩阵。其中,直线拟合矩阵和直线方程存储矩阵中的每个元素可以存储有初始化值。
如图5所示,在拟合直线步骤中,终端设备可以根据二维码标识建立二维码角点坐标与直线标识之间的关系,进而将二维码角点坐标和直线标识作为直线拟合数据,且将直线拟合数据填充至直线拟合矩阵中。进一步地,终端设备可以根据直线拟合矩阵中的直线拟合数据拟合所有可见直线(即空间虚拟直线),得到所有可见直线方程(即空间虚拟直线的直线方程)。
如图5所示,在拟合消失点步骤中,终端设备可以将所有可见直线方程中的直线参数作为消失点拟合数据,且将消失点拟合数据填充至直线方程存储矩阵中。进一步地,终端设备可以根据消失点标识对直线方程存储矩阵中的消失点拟合数据进行划分,得到每个消失点标识分别对应的消失点拟合数据,进而根据每个消失点标识分别对应的消失点拟合数据,得到每个消失点标识分别对应的消失点的消失点坐标。
如图5所示,在计算相机内参步骤中,终端设备可以对消失点坐标进行筛选,得到可用消失点坐标(即满足消失点合格条件的空间划分直线对应的消失点坐标),进而根据消失点标定算法得到相机组件的组件内参(即相机内参)。其中,消失点标定算法可以适用于消失点坐标为2个或3个时的情 况。
可以理解的是,申请实施例可以以高精度的张正友标定法作为真值,得到本申请实施例所生成的组件内参的相对误差,结果如表1所示:
表1
其中,如表1所示,光心可以包括光心横坐标ux和光心纵坐标uy,焦距可以包括x方向焦距fx和y方向焦距fy,针对表1所示的四个参数,本申请实施例与张正友标定法的误差均在2%以内。其中,本申请实施例中的x方向焦距fx和y方向焦距fy是相同的。
其中,在单核CPU(Central Processing Unit,中央处理器)上,本申请所实现的获取空间虚拟直线、计算消失点以及计算组件内参的整体耗时低于0.25毫秒,不占用硬件资源,当应用到虚实融合应用中时,只占用少量机器资源,不会造成其他虚实融合相关算法的卡顿。
由此可见,本申请实施例可以获取相机组件对空间对象进行拍摄所得到的单张目标图像,在目标图像中实时检测平行线(即空间虚拟直线),并计算平行线所映射的消失点的消失点坐标,进而结合基于消失点的组件内参标定方法,生成相机组件的组件内参,可以实现通过单张图像确定相机组件的组件内参,不需要对多张图像进行处理,且无需使用硬件设备对组件内参进行标定,这会明显降低对组件内参进行标定的成本和提高了标定的效率。
进一步地,请参见图7,图7是本申请实施例提供的一种数据处理方法的流程示意图二。该数据处理方法可以包括以下步骤S1021-步骤S1025,且步骤S1021-步骤S1025为图3所对应实施例中步骤S102的一个具体实施例。
步骤S1021,在目标图像中,获取由空间线段所构成的空间虚拟直线;
其中,由空间线段所构成的空间虚拟直线是指空间线段所处的空间虚拟直线。终端设备获取由空间线段所构成的空间虚拟直线的具体过程,可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再进行赘述。
步骤S1022,根据空间虚拟直线和目标图像对应的空间坐标轴之间的位置关系,为空间虚拟直线分配直线标识;
具体的,终端设备可以获取目标图像对应的空间坐标轴所构成的目标空间平面。其中,构成目标空间平面的空间坐标轴包括第一坐标轴和第二坐标轴,目标空间平面可以为平面x、平面y和平面z中的任意一个。进一步地,终端设备可以对目标空间平面中的标识码进行遍历,得到与目标空间平面中的标识码相关联的空间虚拟直线,将与目标空间平面中的标识码相关联的空间虚拟直线确定为目标空间虚拟直线。进一步地,终端设备可以为平行于第一坐标轴的目标空间虚拟直线分配第一直线标识,为平行于第二坐标轴的目标空间虚拟直线分配第二直线标识。其中,第一直线标识按照第二坐标轴进行排序,第二直线标识按照第一坐标轴进行排序。其中,直线标识包括第一直线标识和第二直线标识。
可以理解的是,对于左面墙和右面墙的标识码而言,上下左右是人站在地面上,正面朝向标识码的上下左右;对于地面来说,上下左右是人站在右面墙上,正面朝向标识码的上下左右。可选的,对于地面来说,上下左右也可以是人站在左面墙上,正面朝向标识码的上下左右。
其中,对于平面x(即右面墙)的空间虚拟直线而言,按照平面x中标识码的排布方式,构造高c宽b的索引矩阵Mx,矩阵中第i行第j列元素为右面墙上第i行第j列的标识码的单元码标。这样,终端设备可以按照列优先的方式(或按照行优先的方式),遍历索引矩阵Mx的同时,给每个标识码包含的4个点分配直线标识,分配的方式为:先对所有标识码上边直线,从高往低的顺序分配从0到(c-1)的下标;再对所有标识码下边直线,从高往低的顺序分配从c到(2c-1)的下标;再对所有标识码左边直 线,从左往右的顺序分配从2c到(2c+b-1)的下标;再对所有标识码右边直线,从左往右的顺序分配从(2c+b)到(2c+2b-1)的下标。
其中,对于平面y(即左面墙)的空间虚拟直线而言,按照平面y中标识码的排布方式,构造高c宽a的索引矩阵My,矩阵中第i行第j列元素为左面墙上第i行第j列的标识码的单元码标。这样,终端设备可以按照列优先的方式(或按照行优先的方式),遍历索引矩阵My的同时,给每个标识码包含的4个点分配直线标识,分配的方式为:先对所有标识码上边直线,从高往低的顺序分配从(2c+2b)到(2c+2b+c-1)的下标;再对所有标识码下边直线,从高往低的顺序分配从3c+2b到(4c+2b-1)的下标;再对所有标识码左边直线,从左往右的顺序分配从(4c+2b)到(4c+2b+a-1)的下标;再对所有标识码右边直线,从左往右的顺序分配从(4c+2b+a)到(4c+2b+2a-1)的下标。
其中,对于平面z(即地面)的空间虚拟直线而言,按照平面z中标识码的排布方式,构造高a宽b的索引矩阵Mz,矩阵中第i行第j列元素为地面上第i行第j列的标识码的单元码标。这样,终端设备可以按照列优先的方式(或按照行优先的方式),遍历索引矩阵Mz的同时,给每个标识码包含的4个点分配直线标识,分配的方式为:先对所有标识码上边直线,从高往低的顺序分配从(4c+2b+2a)到(4c+2b+3a-1)的下标;再对所有标识码下边直线,从高往低的顺序分配从(4c+2b+3a)到(4c+2b+4a-1)的下标;再对所有标识码左边直线,从左往右的顺序分配从(4c+2b+4a)到(4c+3b+4a-1)的下标;再对所有标识码右边直线,从左往右的顺序分配从(4c+3b+4a)到(4c+4b+4a-1)的下标。
应当理解,本申请实施例不对为空间虚拟直线分配直线标识的方式进行限定,步骤S1025可以参照步骤S1022中分配的直线标识,为空间虚拟直线分配不同的消失点标识。可选的,比如,以平面x为例进行说明,终端设备可以先对所有标识码上边直线和下边直线,从高往低的顺序分配从0到(2c-1)的下标;再对所有标识码左边直线和右边直线,从左往右的顺序分配从2c到(2c+2b-1)的下标。
步骤S1023,将空间虚拟直线的直线标识作为构成空间虚拟直线的空间线段的线段标识。
比如,空间虚拟直线S2是由空间线段X1和空间线段X2所构成的,若空间虚拟直线S2的直线标识为直线标识K,则终端设备可以将直线标识K作为空间线段X1和空间线段X2的线段标识。
为便于理解,请参见图8,图8是本申请实施例提供的一种分配直线标识的场景示意图。如图8所示的空间对象可以对应于三个平面,三个平面具体可以包括平面z、平面y和平面x;如图8所示的空间对象可以对应于三个坐标轴,三个坐标轴具体可以包括x轴、y轴和z轴。其中,平面z与z轴垂直,平面y与y轴处置,平面x与x轴垂直。
如图8所示,空间对象对应的平面x中可以包括一个或多个标识码,这里以一个或多个标识码为12个标识码(即c乘b(即3乘4)个标识码,这里的c表示平面x在z轴方向上的标识码的数量,这里的b表示平面x在y轴方向上的标识码的数量)为例进行说明。平面x中的标识码所构成的空间虚拟直线可以为14条,其中,平面x的垂直方向可以为3个标识码,所以垂直方向所构成的空间虚拟直线可以为6条,平面x的水平方向可以为4个标识码,所以水平方向所构成的空间虚拟直线可以为8条。
如图8所示,垂直方向的6条空间虚拟直线具体可以包括直线81a、直线82a、直线83a、直线84a、直线85a和直线86a,水平方向的8条空间虚拟直线具体可以包括直线87a、直线88a、直线89a、直线810a、直线811a、直线812a、直线813a和直线814a。终端设备可以根据步骤S1022的描述,对平面x的14条空间虚拟直线分配直线标识,例如,为直线81a分配的直线标识为1、为直线82a分配的直线标识为2、为直线83a分配的直线标识为3、为直线84a分配的直线标识为4、为直线85a分配的直线标识为5、…、为直线813a分配的直线标识为13、以及为直线814a分配的直线标识为14。
如图8所示,平面x的12个标识码可以包括标识码80a,标识码80a的上边直线用于构成直线81a、下边直线用于构成直线84a、左边直线用于构成直线810a、以及右边直线用于构成直线814a,因此,标识码80a的上边直线的线段标识为1、下边直线的线段标识为4、左边直线的直线标识为10、以及右边直线的直线标识为14。
步骤S1024,将目标图像对应的空间坐标轴中的坐标轴的数量作为消失点数量;
其中,消失点数量为至少两个。如图8所示,空间对象对应的坐标轴的数量为三个,即目标图像对应的空间坐标轴中的坐标轴的数量为三个,因此,消失点的数量为三个。可选的,在目标图像对应 的空间坐标轴中的坐标轴的数量为两个时,消失点的数量为两个。
可选的,在目标对象对应的空间坐标轴中的坐标轴的数量为三个时,若平面x、平面y或平面z中的任意两个平面中不存在标识码,则消失点的数量为两个。
步骤S1025,根据空间虚拟直线和空间坐标轴之间的位置关系,在至少两个消失点标识中确定空间虚拟直线所映射的消失点标识;
其中,一个消失点标识对应一个消失点。空间虚拟直线和空间坐标轴之间的位置关系是由步骤S1022所确定的。
其中,对于平面x中的空间虚拟直线而言,终端设备可以将直线标识从0到(c-1)的空间虚拟直线,分配给y轴消失点1,即消失点ly;将直线标识从c到(2c-1)的空间虚拟直线,分配给y轴消失点1,即消失点ly;将直线标识从2c到(2c+b-1)的空间虚拟直线,分配给z轴消失点2,即消失点lz;将直线标识从(2c+b)到(2c+2b-1)的空间虚拟直线,分配给z轴消失点2,即消失点lz
其中,对于平面y中的空间虚拟直线而言,终端设备可以将直线标识从(2c+2b)到(2c+2b+c-1)的空间虚拟直线,分配给x轴消失点0,即消失点lx;将直线标识从(3c+2b)到(4c+2b-1)的空间虚拟直线,分配给x轴消失点0,即消失点lx;将直线标识从(4c+2b)到(4c+2b+a-1)的空间虚拟直线,分配给z轴消失点2,即消失点lz;将直线标识从(4c+2b+a)到(4c+2b+2a-1)的空间虚拟直线,分配给z轴消失点2,即消失点lz
其中,对于平面z中的空间虚拟直线而言,终端设备可以将直线标识从(4c+2b+2a)到(4c+2b+3a-1)的空间虚拟直线,分配给y轴消失点1,即消失点ly;将直线标识从(4c+2b+3a)到(4c+2b+4a-1)的空间虚拟直线,分配给y轴消失点1,即消失点ly;将直线标识从(4c+2b+4a)到(4c+3b+4a-1)的空间虚拟直线,分配给x轴消失点0,即消失点lx;将直线标识从(4c+3b+4a)到(4c+4b+4a-1)的空间虚拟直线,分配给x轴消失点0,即消失点lx
其中,在平面x、平面y和平面z中确定空间虚拟直线所映射的消失点标识的具体过程可以参见图9,图9是本申请实施例提供的一种确定消失点标识的场景示意图。如图9所示的目标图像92a可以对应于三个坐标轴,三个坐标轴可以为坐标轴92b、坐标轴92c和坐标轴92d。其中,坐标轴92b还可以称之为x轴,坐标轴92c还可以称之为y轴,坐标轴92d还可以称之为z轴。
可以理解的是,终端设备可以为平行于同一个坐标轴的空间虚拟直线映射为同一个消失点标识,如图9所示,平行于坐标轴92b的空间虚拟直线所映射的消失点标识为消失点标识91c,平行于坐标轴92c的空间虚拟直线所映射的消失点标识为消失点标识91b,平行于坐标轴92d的空间虚拟直线所映射的消失点标识为消失点标识91a。其中,平行于坐标轴92b的空间虚拟直线的直线数量为12个,平行于坐标轴92c的空间虚拟直线的直线数量为14个,平行于坐标轴92d的空间虚拟直线的直线数量为16个。
由此可见,本申请实施例可以在目标图像中获取由空间线段所构成的空间虚拟直线,根据空间虚拟直线和空间坐标轴之间的位置关系,为空间虚拟直线分配直线标识,进而将空间虚拟直线的直线标识作为构成空间虚拟直线的空间线段的线段标识。可以理解的是,根据空间虚拟直线和空间坐标轴之间的位置关系,可以在至少两个消失点标识中确定空间虚拟直线所映射的消失点标识。其中,线段标识可以用于存储至第一表格中,消失点标识可以用于存储至第二表格中,通过第一表格和第二表格可以提高后续步骤对组件内参进行标定的速度。
进一步地,请参见图10,图10是本申请实施例提供的一种数据处理方法的流程示意图三。该数据处理方法可以包括以下步骤S1031-步骤S1032,且步骤S1031-步骤S1032为图3所对应实施例中步骤S103的一个具体实施例。
步骤S1031,根据线段标识确定空间线段所属的空间虚拟直线,将空间线段中的空间角点的角点坐标作为空间虚拟直线上的关键点坐标;
具体的,终端设备可以根据标识码的单元码标,从第一表格中获取组成标识码的空间线段的线段标识。其中,空间虚拟直线包括空间虚拟直线Si,这里的i可以为正整数,且i小于或等于空间虚拟直线的直线数量。进一步地,若从第一表格中获取到的线段标识为空间虚拟直线Si的直线标识,则终端设备可以将空间虚拟直线Si作为空间线段所属的空间虚拟直线。进一步地,终端设备可以获取空间线 段中的空间角点的角点坐标。其中,空间角点包括第一角点和第二角点,第一角点和第二角点即为空间线段的两个端点。进一步地,终端设备可以将第一角点的角点坐标和第二角点的角点坐标作为空间线段所属的空间虚拟直线Si上的关键点坐标。
可以理解的是,终端设备可以基于关键点坐标填充拟合直线用数据(即直线拟合矩阵Dline)。终端设备可以初始化所有的空间虚拟直线的实际点数(即空间虚拟直线上的关键点坐标的数量)为0,记第j条空间虚拟直线的实际点数为Nj(即Nj的初始值为0),进而对于检测到的标识码,按照顺序进行如下处理:记当前标识码的单元码标(序号)为i,从表格T1中,查询得到单元码标为i的标识码的4个边对应的线段标识。对于标识码上下左右4个边,分别按顺序进行如下处理:记录当前边所在空间虚拟直线的直线标识为j;取出空间虚拟直线j的实际点数Nj;取出边的端点1的二维坐标,将其填充到直线拟合矩阵Dline的第j行,第Nj列中;将Nj增加1,即直线标识为j的空间虚拟直线上的关键点坐标的数量增加1;取出边的端点2的二维坐标,将其填充到直线拟合矩阵Dline的第j行,第Nj列中;将Nj增加1。
其中,端点1即为第一端点,端点2即为第二端点。对于垂直的空间虚拟直线而言,第一端点可以位于第二端点之上;对于水平的空间虚拟直线而言,第一端点可以位于第二端点之左。可选的,对于垂直的空间虚拟直线而言,第一端点可以位于第二端点之下;对于水平的空间虚拟直线而言,第一端点可以位于第二端点之右。
步骤S1032,基于关键点坐标生成空间虚拟直线的直线方程。
具体的,终端设备可以从直线拟合矩阵中获取空间虚拟直线Si上的关键点坐标,对空间虚拟直线Si上的关键点坐标中的关键点参数进行平均处理,得到空间虚拟直线Si对应的平均关键点参数,根据空间虚拟直线Si对应的平均关键点参数和空间虚拟直线Si对应的关键点参数,生成空间虚拟直线Si对应的参数矩阵。进一步地,终端设备可以对空间虚拟直线Si对应的参数矩阵进行奇异值分解,得到空间虚拟直线Si对应的主特征向量矩阵。进一步地,终端设备可以获取空间虚拟直线Si对应的参数方程,根据空间虚拟直线Si对应的主特征向量矩阵中的矩阵参数,确定空间虚拟直线Si对应的参数方程中的直线参数,将确定直线参数的参数方程作为空间虚拟直线Si的直线方程。
可以理解的是,若空间虚拟直线上的关键点坐标的数量不为0,则终端设备可以取出空间虚拟直线在直线拟合矩阵Dline上的所有关键点坐标,通过获取到的关键点坐标拟合空间虚拟直线的直线方程参数(即直线参数):记当前直线标号为i;记i号直线的参数方程为aix+biy+ci=0;记直线拟合矩阵Dline上第i行第j列的元素为二维坐标构造矩阵Mj(即参数矩阵),矩阵Mj的高度为Ni(即编号i的空间虚拟直线上的关键点坐标的数量),宽度为2,矩阵Mj的具体形式可以参见公式(1):
其中,表示第一平均关键点参数(即x轴方向的平均关键点参数),表示第二平均关键点参数(即y轴方向的平均关键点参数),表示对空间虚拟直线上所有关键点坐标中的x坐标(即第一关键点参数)取平均值,表示对空间虚拟直线上所有关键点坐标中的y坐标(即第二关键点参数)取平均值,可以统称为空间虚拟直线对应的平均关键点参数,第一关键点参数和第二关键点参数可以统称为关键点坐标中的关键点参数。的具体形式可以参见公式(2)和公式(3):

其中,Ni可以表示空间虚拟直线上的关键点坐标的数量。对矩阵Mj进行奇异值分解(Singular Value Decomposition,简称SVD分解),可以将矩阵分解为Mj=UΣVT,应当理解,本申请实施例不对奇异值分解的具体过程进行限定,例如,本申请实施例可以使用opencv的SVD分解。对矩阵Mj进行奇异值分解后得到的V即为主特征向量矩阵,主特征向量矩阵是正交矩阵,根据主特征向量矩阵可以计算直线方程的参数ai、参数bi和参数ci,参数ai、参数bi和参数ci的具体形式可以参见公式(4)、公式(5)和公式(6):
ai=V1,0       (4)
bi=V1,1        (5)
其中,参数bi可以为主特征向量矩阵V中第1行、第0列的元素,参数bi可以为主特征向量矩阵V中第1行、第1列的元素,主特征向量矩阵V的大小为2*2,参数ai和参数bi可以统称为主特征向量矩阵中的矩阵参数,参数ai、参数bi和参数ci可以统称为空间虚拟直线的直线参数。这样,终端设备可以将参数ai配置到直线方程存储矩阵Dpoint的第i行、第0列,将参数bi配置到直线方程存储矩阵Dpoint的第i行、第1列,将参数ci配置到直线方程存储矩阵Dpoint的第i行、第2列,即将参数ai、参数bi和参数ci作为参数方程中的直线参数。应当理解,本申请实施例解参数方程的方法不限于奇异值分解,也可以使用其他方法。
为便于理解,请参见图11,图11是本申请实施例提供的一种确定直线方程的流程示意图。如图11所示,终端设备可以获取针对目标图像的二维码检测结果,二维码检测结果可以包括二维码标识和二维码角点坐标。进一步地,终端设备可以对检测到的二维码进行遍历,即获取第a号二维码,进而获取第a号二维码的二维码标识i,在表格T1中获取二维码标识为i的边所属直线标识(即空间线段的线段标识)。
如图11所示,对于二维码标识i的二维码的每条边,终端设备可以取出边所属空间虚拟直线j的实际点数,实际点数可以表示空间虚拟直线上的关键点数量(即关键点坐标的数量)。其中,每条空间虚拟直线的实际点数可以被初始化为0。进一步地,终端设备可以取出二维码标识i的二维码的一条边的两个端点的坐标,将两个端点的坐标填充到直线拟合数据(即直线拟合矩阵),即终端设备可以取出该边的端点1的坐标,将端点1的坐标填充到直线拟合数据,进而取出该边的端点2的坐标,将端点2的坐标填充到直线拟合数据。其中,端点1的坐标和端点2的坐标被填充至不同的直线拟合数据中,即端点1的坐标和端点2的坐标作为不同空间虚拟直线所对应的关键点坐标,且终端设备需要对实际点数进行自增。
如图11所示,终端设备在按顺序处理二维码,得到拟合直线数据之后,可以根据每条直线的实际点数和每条空间虚拟直线所对应的关键点坐标(即每组直线拟合数据),生成每条空间虚拟直线所对应的参数矩阵,对参数矩阵进行奇异值分解,得到单个直线方程参数(即每条空间虚拟直线所对应的直线参数),进而将直线参数存储到消失点拟合数据(即直线拟合矩阵)中,该直线参数用于拟合消失点的数据。
由此可见,本申请实施例可以根据线段标识确定空间线段所属的空间虚拟直线,将空间线段中的空间角点的角点坐标作为空间虚拟直线上的关键点坐标,进而基于虚拟直线上的关键点坐标生成空间虚拟直线的直线方程。其中,关键点坐标可以用于存储至直线拟合矩阵,直线方程的直线参数可以用于存储至直线方程存储矩阵,直线拟合矩阵和直线方程存储矩阵可以提高后续步骤对组件内参进行标定的速度。
进一步地,请参见图12,图12是本申请实施例提供的一种数据处理方法的流程示意图四。该数 据处理方法可以包括以下步骤S1041-步骤S1044,且步骤S1041-步骤S1044为图3所对应实施例中步骤S104的一个具体实施例。
步骤S1041,从第二表格中获取空间虚拟直线所映射的消失点标识,从直线方程存储矩阵中获取空间虚拟直线对应的直线参数;
步骤S1042,根据消失点标识对空间虚拟直线对应的直线参数进行划分,得到消失点标识对应的空间划分矩阵;
具体的,终端设备可以对消失点标识的候选直线数量进行初始化,根据最大关键点数量对第一辅助矩阵和第二辅助矩阵进行初始化。其中,空间虚拟直线对应的直线参数包括第一直线参数、第二直线参数和第三直线参数。进一步地,终端设备可以对空间虚拟直线进行遍历,根据消失点标识将遍历得到的空间虚拟直线中的第一直线参数和第二直线参数填入至第一辅助矩阵,根据消失点标识将遍历得到的空间虚拟直线中的第三直线参数填入至第二辅助矩阵。其中,第一直线参数和第二直线参数在第一辅助矩阵中的位置是由候选直线数量所确定的;第三直线参数在第二辅助矩阵中的位置是由候选直线数量所确定的。进一步地,终端设备可以对候选直线数量进行累加处理,在遍历完成空间虚拟直线之后,得到目标直线数量。进一步地,终端设备可以将从第一辅助矩阵中获取的行数为目标直线数量的直线参数作为新的第一辅助矩阵,将从第二辅助矩阵中获取的行数为目标直线数量的直线参数作为新的第二辅助矩阵,将新的第一辅助矩阵和新的第二辅助矩阵作为消失点标识对应的空间划分矩阵。
可以理解的是,终端设备可以准备填充直线方程存储矩阵Dpoint到矩阵Dx、矩阵Dy、矩阵Dz、向量Bx、向量By、向量Bz中,准备拟合消失点的数据:初始化x轴消失点可用直线数Nx(即x轴对应的候选直线数量)为零,y轴消失点可用直线数Ny(即y轴对应的候选直线数量)为零,z轴消失点可用直线数Nz(即z轴对应的候选直线数量)为零;初始化矩阵Dx、矩阵Dy、矩阵Dz为N(即每个消失点可能的最大空间虚拟直线数量)行,2列的实数矩阵,向量Bx、向量By、向量Bz为N行向量。
应当理解,本申请实施例不对矩阵Dx、矩阵Dy、矩阵Dz、向量Bx、向量By和向量Bz中的每个元素的初始化值进行限定,本申请实施例可以将矩阵Dx、矩阵Dy、矩阵Dz、向量Bx、向量By和向量Bz中的每个元素初始化为-1。其中,矩阵Dx、矩阵Dy和矩阵Dz可以统称为第一辅助矩阵,向量Bx、向量By和向量Bz可以统称为第二辅助矩阵。矩阵Dx为x轴对应的第一辅助矩阵,矩阵Dy为y轴对应的第一辅助矩阵,矩阵Dz为z轴对应的第一辅助矩阵;向量Bx为x轴对应的第二辅助矩阵,向量By为y轴对应的第二辅助矩阵,向量Bz为z轴对应的第二辅助矩阵。其中,第二辅助矩阵还可以称之为第二辅助向量。
进一步地,终端设备可以遍历每一条空间虚拟直线,记当前空间虚拟直线的直线标识为i,直线方程的参数为参数ai(即第一直线参数)、参数bi(即第二直线参数)和参数ci(即第三直线参数)。进一步地,终端设备可以从表格T2中,按照空间虚拟直线的直线标识i,取出其所属消失点标识,进而按照消失点标识的类型,将参数ai、参数bi和参数ci填充数据到矩阵Dx和向量Bx中,或矩阵Dy和向量By中,或矩阵Dz和向量Bz中,具体的方法是:若消失点标识等于0,则把ai填充到Dx的第Nx行第0列,把bi填充到Dx的第Nx行第1列,把-ci填充到Bx的第Nx行,之后Nx=Nx+1,其中,消失点标识0为x轴对应的消失点标识;若消失点标识等于1,则把ai填充到Dy的第Ny行第0列,把bi填充到Dy的第Ny行第1列,把-ci填充到By的第Ny行,之后Ny=Ny+1,其中,消失点标识1为y轴对应的消失点标识;若消失点标识等于2,则把ai填充到Dz的第Nz行第0列,把bi填充到Dz的第Nz行第1列,把-ci填充到Bz的第Nz行,之后Nz=Nz+1,其中,消失点标识2为z轴对应的消失点标识。可选的,若直线的实际点数Ni等于零,则不进行任何操作,直接处理下一条直线。
可以理解的是,在对所有的空间虚拟直线遍历完成之后,候选直线数量可以称之为目标直线数量,目标直线数量可以表示消失点所对应的空间虚拟直线的数量。
步骤S1043,根据空间划分矩阵对空间划分直线进行最小二乘拟合,生成空间划分直线的直线交点,将空间划分直线的直线交点作为消失点标识对应的消失点的消失点坐标;
其中,空间划分直线为空间划分矩阵对应的空间虚拟直线,不同的空间划分矩阵对应于不同的空间虚拟直线,不同的空间划分矩阵可以用于生成不同的消失点坐标。
可以理解的是,终端设备可以分别对矩阵Dx、向量Bx,矩阵Dy、向量By、矩阵Dz和向量Bz进 行如下运算,计算x轴、y轴、z轴对应的消失点。可以理解的是,若目标直线数量Nx大于或等于2,则计算x轴消失点,否则认为x轴消失点不存在,因此,终端设备可以构造矩阵Px和向量Qx,矩阵Px为矩阵Dx的前Nx行,向量Qx为向量Bx的前Nx行。其中,矩阵Px可以称之为新的第一辅助矩阵,向量Qx可以称之为新的第二辅助矩阵,矩阵Px和向量Qx可以统称为x轴对应的空间划分矩阵。这样,终端设备根据x轴对应的空间划分矩阵,生成x轴消失点的消失点坐标lx的计算方法可以参见公式(7):
可以理解的是,若目标直线数量Ny大于或等于2,则计算y轴消失点,否则认为y轴消失点不存在,因此,终端设备可以构造矩阵Py和向量Qy,矩阵Py为矩阵Dy的前Ny行,向量Qy为向量By的前Ny行。其中,矩阵Py可以称之为新的第一辅助矩阵,向量Qy可以称之为新的第二辅助矩阵,矩阵Py和向量Qy可以统称为y轴对应的空间划分矩阵。这样,终端设备根据y轴对应的空间划分矩阵,生成y轴消失点的消失点坐标ly的计算方法可以参见公式(8):
可以理解的是,若目标直线数量Nz大于或等于2,则计算z轴消失点,否则认为z轴消失点不存在,因此,终端设备可以构造矩阵Pz和向量Qz,矩阵Pz为矩阵Dz的前Nz行,向量Qz为向量Bz的前Nz行。其中,矩阵Pz可以称之为新的第一辅助矩阵,向量Qz可以称之为新的第二辅助矩阵,矩阵Pz和向量Qz可以统称为z轴对应的空间划分矩阵。这样,终端设备根据z轴对应的空间划分矩阵,生成z轴消失点的消失点坐标lz的计算方法可以参见公式(9):
步骤S1044,基于消失点坐标确定相机组件针对目标图像的组件内参。
其中,终端设备基于消失点坐标确定相机组件针对目标图像的组件内参的具体过程,可以参见图14所对应实施例中对步骤S1052-步骤S1053的描述。
为便于理解,请参见图13,图13是本申请实施例提供的一种确定消失点坐标的流程示意图。如图13所示,终端设备可以获取所有可见直线的参数方程(即空间虚拟直线的直线方程),对于每条可见直线而言,根据表格T2中所记录的每条可见直线所映射的消失点标识(即每条空间虚拟直线所属消失点),对参数方程中的直线方程参数(即直线参数)进行划分,即根据消失点将直线方程参数填充到对应矩阵(即空间划分矩阵)中,得到每个消失点分别对应的空间划分矩阵。
进一步地,如图13所示,终端设备可以基于每个消失点分别对应的空间划分矩阵,分别最小二乘拟合消失点,得到每个消失点的消失点坐标。其中,一个消失点对应一个坐标轴,一个坐标轴对应于一组空间虚拟直线(即空间划分直线)的直线方程。
由此可见,本申请实施例可以从第二表格中获取空间虚拟直线所映射的消失点标识,从直线方程存储矩阵中获取空间虚拟直线对应的直线参数,根据消失点标识对空间虚拟直线对应的直线参数进行划分,得到消失点标识对应的空间划分矩阵。进一步地,根据空间划分矩阵对空间划分直线进行最小二乘拟合,可以生成空间划分直线所对应的消失点的消失点坐标,进而基于消失点坐标确定相机组件的组件内参。本申请实施例所提出的基于消失点坐标确定组件内参的方式可以降低对组件内参进行标定的成本和提高标定速度。
进一步地,请参见图14,图14是本申请实施例提供的一种数据处理方法的流程示意图五。该数据处理方法可以包括以下步骤S1051-步骤S1053,且步骤S1051-步骤S1053为图3所对应实施例中步骤S104的一个具体实施例。
步骤S1051,根据消失点标识和直线方程,生成消失点标识所指示的消失点的消失点坐标;
其中,终端设备根据消失点标识和直线方程生成消失点坐标的具体过程,可以参见图12所对应实施例中对步骤S1041-步骤S1043的描述。
步骤S1052,确定空间划分直线中的每两条空间虚拟直线之间的直线夹角,从每两条空间虚拟直线之间的直线夹角中获取最大直线夹角,若最大直线夹角大于或等于夹角阈值,则确定空间划分直线 满足消失点合格条件;
可以理解的是,终端设备可以根据检测到的消失点,自动检测其是否可用。其中,对于每组空间划分直线而言,若该组空间划分直线只有两条空间虚拟直线,则终端设备可以直接计算两个空间虚拟直线之间的夹角α(即最大直线夹角);可选的,若该组空间划分直线不止两条空间虚拟直线,则终端设备可以计算每两条空间虚拟直线之间的夹角,将每两条空间虚拟直线之间的夹角中的最大夹角作为夹角α(即最大直线夹角)。
可选的,若最大直线夹角小于夹角阈值,则确定该组空间划分直线所对应的消失点不可用,即确定空间划分直线不满足消失点合格条件。其中,消失点合格条件是指空间划分直线中的每两条空间虚拟直线之间的最大直线夹角大于或等于夹角阈值的条件。换言之,若空间划分直线中的空间虚拟直线在目标图像中接近于平行,则可以确定该组空间划分直线不可用,通过不可用的空间划分直线所确定的消失点坐标是不准确的。应当理解,本申请实施例不对夹角阈值的具体取值进行限定。
步骤S1053,基于满足消失点合格条件的空间划分直线对应的消失点坐标,生成相机组件针对目标图像的组件内参。
应当理解,终端设备可以在满足消失点合格条件的空间划分直线为2组或3组时,生成相机组件针对目标图像的组件内参。其中,一组空间划分直线对应一个消失点,每组空间划分直线中的空间虚拟直线互相平行,不同组空间划分直线互相垂直。
其中,在满足消失点合格条件的空间划分直线小于或等于1组时,即可用消失点的数量小于或等于1个时,终端设备不进行组件内参的标定;在满足消失点合格条件的空间划分直线等于2组时,即可用消失点的数量等于2个时,终端设备可以调用2个消失点的标定算法;在满足消失点合格条件的空间划分直线等于3组时,即可用消失点的数量等于3个时,终端设备可以调用3个消失点的标定算法。
应当理解,在满足消失点合格条件的空间划分直线为2组时(即消失点的数量为2个时),满足消失点合格条件的空间划分直线对应的消失点坐标包括第一消失点坐标和第二消失点坐标。应当理解,终端设备可以根据目标图像的图像高度和图像宽度,确定相机组件在目标图像中的光心横坐标和光心纵坐标。其中,光心横坐标和光心纵坐标用于表示相机组件的组件光心的光心坐标。进一步地,终端设备可以确定相机组件的组件光心到第一消失点坐标的第一向量,确定相机组件的组件光心到第二消失点坐标的第二向量。进一步地,终端设备可以根据第一消失点坐标对应的空间划分直线和第二消失点坐标对应的空间划分直线之间的垂直关系,确定第一向量和第二向量之间的垂直关系,根据第一向量和第二向量之间的垂直关系,建立与第一向量和第二向量相关联的约束方程。进一步地,终端设备可以根据第一消失点坐标、第二消失点坐标和约束方程,确定相机组件的组件焦距。进一步地,终端设备可以将光心坐标和组件焦距作为相机组件针对目标图像的组件内参。
其中,终端设备可以获取光心坐标(ux,uy),目标图像的宽(即图像宽度)为w、高(即图像高度)为h,则相机组件的光心在目标图像所形成的画面的正中心,即ux=w/2(即光心横坐标),uy=h/2(即光心纵坐标)。
其中,终端设备可以计算相机组件的焦距f(即组件焦距):在图像平面(即焦点所在垂直于光轴的面)的二维xy坐标系下,沿焦点往光心方向作为z轴,建立右手直角坐标系,消失点和光心位于成像面上,成像面位于z轴的原点;在此坐标系下,焦点cf坐标为(ux,uy,-f),光心c的坐标为(ux,uy,0),消失点1坐标p为(px,py,-f)(即第一消失点坐标),消失点2坐标q为(qx,qy,-f)(即第二消失点坐标),焦点cf到光心c的距离即为焦距f。其中,消失点1和消失点2可以为目标图像对应的空间坐标轴的x轴、y轴和z轴中的任意两个坐标轴所对应的消失点,即第一消失点坐标和第二消失点坐标为消失点坐标lx、消失点坐标ly和消失点坐标lz中的任意两个消失点坐标。其中,光心c到消失点1和消失点2的连线与右手直角坐标系中的坐标轴重合。
由于在三维空间中两组平行线(即消失点1对应的空间划分直线和消失点2对应的空间划分直线)互相垂直,所以光心c到消失点1的向量(即第一向量,该向量平行于一组平行线)垂直于光心c到消失点2的向量(即第二向量,该向量平行于另一组平行线),即展开得到的与第 一向量和第二向量相关联的约束方程可以参见公式(10):
(px-ux)(qx-ux)+(py-uy)(qy-uy)+f2=0        (10)
根据公式(10)所示的约束方程,可以确定焦距f的公式(11):
可选的,应当理解,在满足消失点合格条件的空间划分直线为3组时(即消失点的数量为3个时),满足消失点合格条件的空间划分直线对应的消失点坐标包括第一消失点坐标、第二消失点坐标和第三消失点坐标。应当理解,终端设备可以确定相机组件的组件光心到第一消失点坐标的第一向量,确定相机组件的组件光心到第二消失点坐标的第二向量,确定相机组件的组件光心到第三消失点坐标的第三向量。进一步地,终端设备可以根据第一消失点坐标对应的空间划分直线、第二消失点坐标对应的空间划分直线和第三消失点坐标对应的空间划分直线之间的垂直关系,确定第一向量、第二向量和第三向量之间的垂直关系,根据第一向量和第二向量之间的垂直关系,建立与第一向量和第二向量相关联的约束方程,根据第一向量和第三向量之间的垂直关系,建立与第一向量和第三向量相关联的约束方程,根据第二向量和第三向量之间的垂直关系,建立与第二向量和第三向量相关联的约束方程。进一步地,终端设备可以根据第一消失点坐标、第二消失点坐标、第三消失点坐标、与第一向量和第二向量相关联的约束方程、与第一向量和第三向量相关联的约束方程、以及与第二向量和第三向量相关联的约束方程,确定相机组件的组件焦距和相机组件在目标图像中的光心横坐标和光心纵坐标。其中,光心横坐标和光心纵坐标用于表示相机组件的组件光心的光心坐标。进一步地,终端设备可以将光心坐标和组件焦距作为相机组件针对目标图像的组件内参。
其中,3个消失点说明空间对象中有3组互相垂直的平行线,所以由垂直关系所形成的约束方程的数量为三个,这样,通过三个约束方程就可以把ux、uy和f都解出来,而不用再默认ux=w/2,uy=h/2。具体地来说,其处理流程如下所示:在图像平面的二维xy坐标系下,沿焦点往光心方向作为z轴,建立右手直角坐标系;在此坐标系下,焦点cf坐标为(ux,uy,-f),光心c的坐标为(ux,uy,0),消失点1坐标p为(px,py,0)(即第一消失点坐标),消失点2坐标q为(qx,qy,0)(即第二消失点坐标)、消失点3坐标r为(rx,ry,0)(即第三消失点坐标)。其中,消失点1、消失点2和消失点3可以为目标图像对应的空间坐标轴中的x轴、y轴和z轴分别对应的消失点,即第一消失点坐标、第二消失点坐标和第三消失点坐标为消失点坐标lx、消失点坐标ly和消失点坐标lz。其中,光心到消失点1、消失点2和消失点3的连线与右手直角坐标系中的坐标轴重合。
由于在三维空间中每两组平行线(即消失点1对应的空间划分直线和消失点2对应的空间划分直线,消失点1对应的空间划分直线和消失点3对应的空间划分直线,消失点2对应的空间划分直线和消失点2对应的空间划分直线)互相垂直,所以光心c到消失点1的向量(该向量平行于一组平行线)垂直于光心c到消失点2的向量(该向量平行于另一组平行线);光心c到消失点1的向量垂直于光心c到消失点3的向量光心c到消失点2的向量垂直于光心c到消失点3的向量综上,展开得到的约束方程可以参见公式(12)、公式(13)和公式(14):
(px-ux)(qx-ux)+(py-uy)(qy-uy)+f2=0     (12)
(px-ux)(rx-ux)+(py-uy)(ry-uy)+f2=0         (13)
(qx-ux)(rx-ux)+(qy-uy)(ry-uy)+f2=0        (14)
根据公式(12)、公式(13)和公式(14)所示的约束方程,化简后可以得到公式(15):
对公式(15)进行矩阵变化后,可以得到[ux,uy]T的公式(16):
终端设备在得到ux(即光心横坐标)和uy(即光心纵坐标)之后,可以将ux和uy代入上述公式(12),就可以得到计算焦距f的公式(17):
可选的,终端设备在得到ux和uy之后,还可以将ux和uy代入上述公式(13)或公式(14),通过公式(13)或公式(14)计算焦距f。其中,通过公式(13)或公式(14)计算焦距f的具体过程,可以参见通过公式(12)计算焦距f的描述,这里将不再进行赘述。
由此可见,本申请实施例可以根据消失点标识和直线方程,生成标识点标识所指示的消失点的消失点坐标,进而根据空间划分直线中的每两条空间虚拟直线之间的夹角,对空间划分直线进行筛选,得到满足消失点合格条件的空间划分直线,进而基于满足消失点合格条件的空间划分直线对应的消失点坐标,生成相机组件的组件内参。本申请实施例所提出的基于消失点坐标确定组件内参的方式可以降低对组件内参进行标定的速度和成本。
图15示出了根据本申请实施例所述的一种数据处理方法1500的流程图。数据处理方法1500在计算机设备中执行。
如图15所示,步骤S1501,获取由相机组件对空间对象进行拍摄得到的图像。空间对象包括下述中任一种:一个平面区域,相互垂直的两个平面区域,以及相互垂直的三个平面区域。例如空间对象为如图2a中左面墙21a、右面墙21b、地面区域21c中至少一个。每个平面区域中包括由多个标识码组成的阵列,标识码携带有可识别出唯一标识的信息。标识码例如为二维码等。
步骤S1502,从图像中识别出标识码的标识和角点。其中,识别出的标识码的角点为识别出的标识码的各个边上的角点。这里,步骤S1502可以利用标识码检测算法对图像中可识别标识码的进行检测。标识码的矩形轮廓(或者外接矩形)的各个边可以认为是标识码的各个边。
步骤S1503,获取阵列中标识码与阵列中标识码的各个边所处直线之间的第一映射关系。在一个实施例中,阵列中标识码的各条边可以与第一三维直角坐标系中的一个坐标轴平行。第一三维直角坐标系中第一坐标轴和第二坐标轴在图像平面中,第三坐标轴垂直于图像平面。由第一坐标轴和第二坐标轴组成的二维坐标系例如可以作为图像的像素坐标系。
步骤S1504,根据第一映射关系和识别出的标识码的角点,拟合出识别出的标识码的各个边所处直线的直线方程。
步骤S1505,获取阵列中标识码的各条边所处直线与消失点的第二映射关系。这里,消失点表示现实世界中的平行线在图像中的视觉相交点。阵列中标识码的各条边所处直线中的相互平行的一组直线对应同一个消失点。
步骤S1506,根据第二映射关系和直线方程,确定识别出的标识码的各个边所处直线对应的消失点。
步骤S1507,根据确定出的消失点,标定相机组件的内参。这里,确定出的消失点例如为2或者3。
综上,根据本申请实施例的方案,可以通过对包含可识别的标识码的空间对象拍摄的单张图像,实现对相机内参的标定。特别是,由于标识码可识别,本申请实施例的方案可以在单张图像中获取与相机呈多种角度的标识码(例如相互垂直的两个平面区域或者三个平面区域对应的标识码),并利用识别出的标识码的分布信息(例如各条边的角点),确定图像中识别码各条边处于直线上的角点,从而能 够确定图像中各条边所处的直线(例如用直线方程对直线进行表征)。进一步,可以利用确定的直线确定消失点,从而利用消失点标定相机的内容。这样,本申请实施例的方案可以避免传统的标定方案(例如利用棋盘格进行标定的方式)中需要拍摄多个角度的棋盘格图像来标定相机内参的麻烦,从而降低了对图像数据的拍摄要求,提高了相机内参标定的效率和方便性。
另外说明的是,由于标识码可识别,本申请实施例可以在执行方法1500之前,预先建立标识码的标识与标识码的各个边所处直线之间的第一映射关系(第一映射关系实际上也可以被认为是代表标识码的各个边的角点与直线的映射关系),以及各条边所处直线与消失点的第二映射关系。在此基础上,本申请实施例在执行方法1500时不需要通过图像获取第一映射关系和第二映射关系,可以预先确定第一映射关系和第二映射关系,从而进一步提高了计算机设备在标定相机内参时的数据处理效率。
在一个实施例中,阵列中标识码为二维码;步骤S1502可以检测所述图像中的标识码,以识别出标识码的标识,和识别出的标识码的各个边的角点的坐标,所述标识码的各个边为标识码的外接矩形的各个边。
在一个实施例中,步骤S1503可以获取用于表征第一映射关系的第一表格。第一表格用于表示所述阵列中标识码的标识与阵列中标识码的各个边所处直线的标识之间的对应关系。这里第一表格例如为上文中表格T1
在一个实施例中,第一表格在获取所述图像之前被创建,创建所述第一表格的方式包括:
根据所述空间对象中各个平面区域的阵列中标识码的分布,将所述阵列中标识码的标识和所述阵列中标识码的各个边所处直线的标识关联存储至第一表格中。这里,通过从预先建立的第一表格来获取第一映射关系,本申请实施例可以提高关于相机内参标定的数据处理的效率。各个边所处直线例如可以是上文中空间虚拟直线。
在一个实施例中,所述获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系,包括:
获取用于表征所述第二映射关系的第二表格,所述第二表格用于表示所述阵列中标识码的各个边所处直线的标识与消失点的标识之间的对应关系。这里,通过从预先建立的第二表格来获取第二映射关系,本申请实施例可以提高关于相机内参标定的数据处理的效率。
在一个实施例中,第二表格对应2个消失点或者3个消失点;
在第二表格对应2个消失点的情况下,所述2个消失点包括第一消失点和第二消失点,第一消失点对应的直线平行于第一三维直角坐标系中第一坐标轴,第二消失点对应的直线平行于第一三维直角坐标系中第二坐标轴。
在第二表格对应3个消失点的情况下,所述3个消失点包括第一消失点,第二消失点和第三消失点,所述第一消失点对应的直线平行于第一三维直角坐标系中第一坐标轴,第二消失点对应的直线平行于第一三维直角坐标系中第二坐标轴,第三消失点对应的直线平行于第一三维直角坐标系中第三坐标轴,所述第一三维直角坐标系中第一坐标轴和第二坐标轴在图像平面中,所述第三坐标轴垂直于图像平面。
在一个实施例中,第二表格在获取所述图像之前被创建,创建所述第二表格的方式包括:
根据所述空间对象中各个平面区域的阵列中标识码的分布,对所述阵列中标识码的各条边所处直线进行分组,得到至少两个分组,每个分组中直线相互平行,不同分组中的直线相互垂直。
为每个分组中的直线分配一个消失点的标识。这里,单个分组中直线对应同一个消失点的标识。
根据为每个分组中的直线分配的消失点的标识,创建表征第二映射关系的第二表格。这里第二表格例如为上文中表格T2
在一个实施例中,S1504可以实施为:
S1:根据第一映射关系,查询出识别出的标识码的各条边所处的直线。例如,S1可以查询出标识码各条边对应的直线的标识。
S2:将识别出的标识码各条边的角点分配给查询出的各条边所处的直线。例如,对于标识码中一条边,S2可以将这条边上的角点分配给该条边所处的直线。
S3:对于每一条与查询出的直线的标识对应的直线,利用已分配给该直线的角点,拟合出该直线的直线方程。换言之,对于每条直线,S3可以利用处于该条直线上的角点,拟合出该条直线的直线方程。
综上,S1504可以利用第一映射关系,为查询出的直线分配角点。分配给一条直线的角点为处于该条直线上的角点,从而可以利用该条直线上的多个角点来拟合直线的直线方程。
在一个实施例中,S1506可以实施为:根据第二映射关系,确定各个直线方程对应的消失点的标识。对于确定出的每个消失点的标识,根据该消失点的标识对应的直线方程,确定相应消失点在图像平面中的坐标。这里,S1506可以将多个直线方程所代表的直线在图像中的交点作为消失点。
在一个实施例中,在执行对于确定出的每个消失点的标识,根据该消失点的标识对应的直线方程,确定相应消失点在图像平面中的坐标之前,方法1500还包括:对于确定出的每个消失点的标识,确定该消失点的标识对应的直线方程所表征的直线之间的最大夹角;在一个消失点的标识对应的直线方程对应的最大夹角小于第一阈值时,在确定出的各个直线方程对应的消失点的标识中删除所述一个消失点的标识。这里,第一阈值可以根据需要进行设定,例如为5度,但不限于此。这样,通过删除消失点的标识,可以实现对消失点的筛选,可以避免应用不符合条件的消失点(即与最大夹角小于第一阈值的情况对应的消失点)来标定相机内参,从而提高标定内参的准确性。
在一个实施例中,在执行对于确定出的每个消失点的标识,根据该消失点的标识对应的直线方程,确定相应消失点在图像平面中的坐标之前,方法1500还可以包括:
对于确定出的每个消失点的标识,确定该消失点的标识对应的直线方程的数量是否达到第二阈值;
在一个消失点的标识对应的直线方程的所述数量小于所述第二阈值时,在确定出的各个直线方程对应的消失点的标识中删除所述一个消失点的标识。
这里,第二阈值例如为2。在一个标识对应的直线方程的数量未达到第二阈值时,实际上无法计算出相应的消失点的坐标,因此本申请在确定出的消失点的标识中删除所述一个消失点的标识,以避免无效的计算,从而数据处理效率。
在一个实施例中,S1507可以实施为:
S11,根据图像的高度和宽度,确定相机组件的光心的坐标。例如,假设光心的坐标(ux,uy):记图像的宽高分别为w,h,则相机的光心坐标为:ux=w/2,uy=h/2。
S12,确定每个消失点的向量,每个消失点的向量为每个消失点与相机组件的光心之间的向量,其中不同消失点的向量相互垂直。
S13,根据每个消失点的向量,确定相机组件的焦距。
例如,在相机焦平面(即图像平面)的二维xy坐标系下,沿相机焦点往光心方向作为z轴,建立右手直角坐标系,即上文中第一三维直角坐标系。
在此坐标系下,记相机焦点cf坐标为(ux,uy,-f),光心c的坐标为(ux,uy,0)。S13中共有2个消失点,其中消失点1坐标p为(px,py,-f),消失点2坐标q为(qx,qy,-f)。
由于在3D空间中两组平行线互相垂直,所以相机光心c到消失点1的向量(该向量平行于一组平行线),垂直于光心c到消失点2的向量(该向量平行于另一组平行线),即展开既为约束方程:
(px-ux)(qx-ux)+(py-uy)(qy-uy)+f2=0
根据上述方程,即可计算出焦距f的值:
在一个实施例中,S13中共有3个消失点,其中,消失点1坐标p为(px,py,0),消失点2坐标q为(qx,qy,0)、消失点3坐标r为(rx,ry,0)。
本申请实施例可以按照如下公式计算焦距f:
进一步地,请参见图16,图16是本申请实施例提供的一种数据处理装置1600的结构示意图,该数据处理装置1600可以包括:
图像获取模块1601,用于获取由相机组件对空间对象进行拍摄得到的图像,所述空间对象包括相 互垂直的两个平面区域或者三个平面区域,每个平面区域中包括由多个标识码组成的阵列,所述标识码携带有可识别出唯一标识的信息。
识别单元1602,从所述图像中识别出标识码的标识和角点,其中,识别出的标识码的角点为识别出的标识码的各个边上的角点。
直线拟合单元1603,用于获取所述阵列中标识码与所述阵列中标识码的各个边所处直线之间的第一映射关系,根据所述第一映射关系和识别出的标识码的角点,拟合出所述识别出的标识码的各个边所处直线的直线方程。
消失点确定单元1604,获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系;根据所述第二映射关系和所述直线方程,确定所述识别出的标识码的各个边所处直线对应的消失点。
标定单元1605,用于根据确定出的所述消失点,标定所述相机组件的内参。
综上,根据本申请实施例的方案,可以通过对包含可识别的标识码的空间对象拍摄的单张图像,实现对相机内参的标定。特别是,由于标识码可识别,本申请实施例的方案可以在单张图像中获取与相机呈多种角度的标识码(例如相互垂直的两个平面区域或者三个平面区域对应的标识码),并利用识别出的标识码的分布信息(例如各条边的角点),确定识别码各条边处于直线上的角点,从而能够确定各条边所处的直线(例如用直线方程对直线进行表征)。进一步,可以利用确定的直线确定消失点,从而利用消失点标定相机的内容。这样,本申请实施例的方案可以避免传统的标定方案(例如利用棋盘格进行标定的方式)中需要拍摄多个角度的棋盘格图像来标定相机内参的麻烦,从而降低了对图像数据的拍摄要求,提高了相机内参标定的效率和方便性。
进一步地,请参见图17,图17是本申请实施例提供的一种计算机设备的结构示意图。如图17所示的计算机设备1000可以是上述实施例中的服务器或终端设备,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图17所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图17所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现根据本申请实施例的数据处理方法。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3、图7、图10、图12和图14所对应实施例中对数据处理方法的描述,也可执行前文图15所对应实施例中对数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,当处理器执行计算机程序时,能够执行前文图3、图7、图10、图12、图14和图15所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品,该计算机程序产品可以包括计算机程序,该计算机程序可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器可以执行该计算机程序,使得该计算机设备执行前文图3、图7、图10、图12、图14和图15所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序 来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

  1. 一种数据处理方法,在计算机设备中执行,所述方法包括:
    获取由相机组件对空间对象进行拍摄得到的图像,所述空间对象包括下述中任一种:一个平面区域,相互垂直的两个平面区域,以及相互垂直的三个平面区域;其中每个平面区域中包括由多个标识码组成的阵列,所述标识码携带有可识别出唯一标识的信息;
    从所述图像中识别出标识码的标识和角点,其中,识别出的标识码的角点为识别出的标识码的各个边上的角点;
    获取所述阵列中标识码与所述阵列中标识码的各个边所处直线之间的第一映射关系;
    根据所述第一映射关系和识别出的标识码的角点,拟合出所述识别出的标识码的各个边所处直线的直线方程;
    获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系;
    根据所述第二映射关系和所述直线方程,确定所述识别出的标识码的各个边所处直线对应的消失点;
    根据确定出的所述消失点,标定所述相机组件的内参。
  2. 根据权利要求1所述的方法,其中,所述阵列中标识码为二维码;所述从所述图像中识别出标识码的标识和角点,识别出的标识码的角点为识别出的标识码的各个边上的角点,包括:
    检测所述图像中的标识码,以确定标识码的标识,和识别出的标识码的各个边的角点的坐标,所述标识码的各个边为标识码的外接矩形的各个边。
  3. 根据权利要求1或2所述的方法,其中,所述获取所述阵列中标识码的标识与所述阵列中标识码的各个边所处直线之间的第一映射关系,包括:
    获取用于表征所述第一映射关系的第一表格,所述第一表格用于表示所述阵列中标识码的标识与所述阵列中标识码的各个边所处直线的标识之间的对应关系。
  4. 根据权利要求3所述的方法,其中,所述第一表格在获取所述图像之前被创建,创建所述第一表格的方式包括:
    根据所述空间对象中各个平面区域的阵列中标识码的分布,将所述阵列中标识码的标识和所述阵列中标识码的各个边所处直线的标识关联存储至第一表格中。
  5. 根据权利要求1-4任一项所述的方法,其中,所述获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系,包括:
    获取用于表征所述第二映射关系的第二表格,所述第二表格用于表示所述阵列中标识码的各个边所处直线的标识与消失点的标识之间的对应关系。
  6. 根据权利要求5任一项所述的方法,其中,所述第二表格对应2个消失点或者3个消失点;
    在所述第二表格对应2个消失点的情况下,所述2个消失点包括第一消失点和第二消失点,所述第一消失点对应的直线平行于第一三维直角坐标系中第一坐标轴,第二消失点对应的直线平行于第一三维直角坐标系中第二坐标轴;
    在所述第二表格对应3个消失点的情况下,所述3个消失点包括第一消失点,第二消失点和第三消失点,所述第一消失点对应的直线平行于第一三维直角坐标系中第一坐标轴,第二消失点对应的直线平行于第一三维直角坐标系中第二坐标轴,所述第三消失点对应的直线平行于第一三维直角坐标系中第三坐标轴,所述第一三维直角坐标系中第一坐标轴和第二坐标轴在图像平面中,所述第三坐标轴垂直于图像平面。
  7. 根据权利要求5任一项所述的方法,其中,所述第二表格在获取所述图像之前被创建,创建所述第二表格的方式包括:
    根据所述空间对象中各个平面区域的阵列中标识码的分布,对所述阵列中标识码的各条边所处直线进行分组,得到至少两个分组,每个分组中直线相互平行,不同分组中的直线相互垂直;
    为每个分组中的直线分配一个消失点的标识;
    根据为每个分组中的直线分配的消失点的标识,创建表征所述第二映射关系的第二表格。
  8. 根据权利要求1-7任一项所述的方法,其中,所述根据所述第一映射关系和识别出的标识码的 角点,拟合出所述识别出的标识码的各个边所处直线的直线方程,包括:
    根据所述第一映射关系,查询出所述识别出的标识码的各条边所处的直线;
    将所述识别出的标识码各条边的角点分配给查询出的各条边所处的直线;
    对于每一条与查询出的直线的标识对应的直线,利用已分配给该直线的角点,拟合出该直线的直线方程。
  9. 根据权利要求1-8任一项所述的方法,其中,根据所述第二映射关系和所述直线方程,确定所述识别出的标识码的各个边所处直线对应的消失点,包括:
    根据所述第二映射关系,确定各个直线方程对应的消失点的标识;
    对于确定出的每个消失点的标识,根据该消失点的标识对应的直线方程,确定相应消失点在图像平面中的坐标。
  10. 根据权利要求9所述的方法,在执行对于确定出的每个消失点的标识,根据该消失点的标识对应的直线方程,确定相应消失点在图像平面中的坐标之前,所述方法还包括:
    对于确定出的每个消失点的标识,确定该消失点的标识对应的直线方程所表征的直线之间的最大夹角;
    在一个消失点的标识对应的直线方程对应的所述最大夹角小于第一阈值时,在确定出的各个直线方程对应的消失点的标识中删除所述一个消失点的标识。
  11. 根据权利要求9所述的方法,在执行对于确定出的每个消失点的标识,根据该消失点的标识对应的直线方程,确定相应消失点在图像平面中的坐标之前,所述方法还包括:
    对于确定出的每个消失点的标识,确定该消失点的标识对应的直线方程的数量是否达到第二阈值;
    在一个消失点的标识对应的直线方程的所述数量小于所述第二阈值时,在确定出的各个直线方程对应的消失点的标识中删除所述一个消失点的标识。
  12. 根据权利要求1-11所述的方法,其中,所述根据确定出的所述消失点标定所述相机组件的内参,包括:
    根据所述图像的高度和宽度,确定相机组件的光心的坐标;
    确定每个消失点的向量,每个消失点的向量为每个消失点与相机组件的光心之间的向量,其中不同消失点的向量相互垂直;
    根据每个消失点的向量,确定相机组件的焦距。
  13. 一种数据处理装置,包括:
    图像获取模块,用于获取由相机组件对空间对象进行拍摄得到的图像,所述空间对象包括下述中任一种:一个平面区域,相互垂直的两个平面区域,以及相互垂直的三个平面区域;其中每个平面区域中包括由多个标识码组成的阵列,所述标识码携带有可识别出唯一标识的信息;
    识别单元,从所述图像中识别出标识码的标识和角点,其中,识别出的标识码的角点为识别出的标识码的各个边上的角点;
    直线拟合单元,用于获取所述阵列中标识码与所述阵列中标识码的各个边所处直线之间的第一映射关系;根据所述第一映射关系和识别出的标识码的角点,拟合出所述识别出的标识码的各个边所处直线的直线方程;
    消失点确定单元,获取所述阵列中标识码的各条边所处直线与消失点的第二映射关系;根据所述第二映射关系和所述直线方程,确定所述识别出的标识码的各个边所处直线对应的消失点;
    标定单元,用于根据确定出的所述消失点,标定所述相机组件的内参。
  14. 一种计算机设备,包括:处理器和存储器;
    所述处理器与所述存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
  15. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
  16. 一种计算机程序产品,存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-12任一项所述的方法。
PCT/CN2023/092217 2022-05-10 2023-05-05 数据处理方法、装置、计算机设备、存储介质及程序产品 WO2023216982A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210500935.0 2022-05-10
CN202210500935.0A CN114596368B (zh) 2022-05-10 2022-05-10 一种数据处理方法、装置、计算机设备以及可读存储介质

Publications (1)

Publication Number Publication Date
WO2023216982A1 true WO2023216982A1 (zh) 2023-11-16

Family

ID=81820911

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/092217 WO2023216982A1 (zh) 2022-05-10 2023-05-05 数据处理方法、装置、计算机设备、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN114596368B (zh)
WO (1) WO2023216982A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117764094A (zh) * 2024-02-21 2024-03-26 博诚经纬软件科技有限公司 一种海关用智慧仓储管理系统和方法
CN117764094B (zh) * 2024-02-21 2024-05-10 博诚经纬软件科技有限公司 一种海关用智慧仓储管理系统和方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114596368B (zh) * 2022-05-10 2022-07-08 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903260A (zh) * 2014-03-24 2014-07-02 大连理工大学 一种摄像机内参数快速标定的靶标方法
WO2019184885A1 (zh) * 2018-03-30 2019-10-03 杭州海康威视数字技术股份有限公司 一种相机外参标定方法、装置及电子设备
CN110349219A (zh) * 2018-04-04 2019-10-18 杭州海康威视数字技术股份有限公司 一种相机外参标定方法及装置
CN112085798A (zh) * 2020-08-10 2020-12-15 深圳市优必选科技股份有限公司 摄像机标定方法、装置、电子设备及存储介质
CN114596368A (zh) * 2022-05-10 2022-06-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020946A (zh) * 2011-09-21 2013-04-03 云南大学 基于三正交方向消失点的摄像机自标定方法
CN105513063B (zh) * 2015-12-03 2018-01-16 云南大学 Veronese映射和棋盘格标定拋物折反射摄像机的方法
CN110047109B (zh) * 2019-03-11 2023-02-14 南京航空航天大学 一种基于自识别标记的相机标定板及其识别检测方法
CN110490940A (zh) * 2019-08-15 2019-11-22 北京迈格威科技有限公司 基于棋盘格单幅图像的相机标定方法和装置
CN113538574B (zh) * 2021-01-04 2022-09-27 腾讯科技(深圳)有限公司 位姿定位方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903260A (zh) * 2014-03-24 2014-07-02 大连理工大学 一种摄像机内参数快速标定的靶标方法
WO2019184885A1 (zh) * 2018-03-30 2019-10-03 杭州海康威视数字技术股份有限公司 一种相机外参标定方法、装置及电子设备
CN110349219A (zh) * 2018-04-04 2019-10-18 杭州海康威视数字技术股份有限公司 一种相机外参标定方法及装置
CN112085798A (zh) * 2020-08-10 2020-12-15 深圳市优必选科技股份有限公司 摄像机标定方法、装置、电子设备及存储介质
CN114596368A (zh) * 2022-05-10 2022-06-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备以及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117764094A (zh) * 2024-02-21 2024-03-26 博诚经纬软件科技有限公司 一种海关用智慧仓储管理系统和方法
CN117764094B (zh) * 2024-02-21 2024-05-10 博诚经纬软件科技有限公司 一种海关用智慧仓储管理系统和方法

Also Published As

Publication number Publication date
CN114596368B (zh) 2022-07-08
CN114596368A (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
JP7231306B2 (ja) イメージ内のターゲットオブジェクトに自動的にアノテーションするための方法、装置およびシステム
US11012620B2 (en) Panoramic image generation method and device
WO2018153374A1 (zh) 相机标定
WO2017076106A1 (zh) 图像的拼接方法和装置
Gallagher Using vanishing points to correct camera rotation in images
TW201804373A (zh) 識別二維碼位置的方法及其系統
WO2023045147A1 (zh) 双目摄像机的标定方法、系统、电子设备和存储介质
CN108694741A (zh) 一种三维重建方法及装置
CN103345736A (zh) 一种虚拟视点绘制方法
JP2014112055A (ja) カメラ姿勢の推定方法およびカメラ姿勢の推定システム
WO2023216982A1 (zh) 数据处理方法、装置、计算机设备、存储介质及程序产品
US10692262B2 (en) Apparatus and method for processing information of multiple cameras
KR20180105875A (ko) 단일 영상을 이용한 카메라 캘리브레이션 방법 및 이를 위한 장치
CN109920004A (zh) 图像处理方法、装置、标定物组合、终端设备及标定系统
WO2021189804A1 (zh) 图像矫正方法、装置和电子系统
WO2021184302A1 (zh) 图像处理方法、装置、成像设备、可移动载体及存储介质
US20230033267A1 (en) Method, apparatus and system for video processing
CN111476876A (zh) 一种三维影像渲染方法、装置、设备及可读存储介质
CN109661815A (zh) 存在相机阵列的显著强度变化的情况下的鲁棒视差估计
CN114640833A (zh) 投影画面调整方法、装置、电子设备和存储介质
TWI820246B (zh) 具有像差估計之設備、估計來自廣角影像的像差之方法及電腦程式產品
WO2022267939A1 (zh) 图像处理方法及装置、计算机可读存储介质
TWI716874B (zh) 影像處理裝置、影像處理方法、及影像處理程式
CN111866523A (zh) 全景视频合成方法、装置、电子设备和计算机存储介质
CN113132708B (zh) 利用鱼眼相机获取三维场景图像的方法和装置、设备和介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23802754

Country of ref document: EP

Kind code of ref document: A1