1.本技术实施例涉及机器学习领域,特别涉及一种相机内参的获取方法、装置、设备及可读存储介质。
背景技术:2.相机内参是指在相机坐标系下,将空间三维点转换至图像像素点的变换关系时,镜头的畸变参数和镜头焦距等参数,基于相机内参对相机采集到的图像进行去畸变以及校正处理,从而得到符合物理原理的图像。
3.相关技术中,常用的相机内参获取方法需要使用特定的标靶,如采用棋盘格标靶进行获取,通过采集棋盘和图像,检测格子角点,建立二维图像与三维图像的映射关系,获取相机内参。
4.然而,相关技术的标定方式过于依赖特定的标靶,标靶反馈的信息进行分析处理后虽然可以获取到相机内参,但若标靶稍有变化,便会影响获取内参的精度。
技术实现要素:5.本技术实施例提供了一种相机内参的获取方法、装置、设备及可读存储介质,能够提高获取相机内参的准确率。所述技术方案如下。
6.一方面,提供了一种相机内参的获取方法,所述方法包括:采集至少两个参考图像,所述至少两个参考图像为分别从不同采集角度针对目标采集点进行采集得到的图像;在对候选内参的第n次循环调整过程中,通过第n个候选内参对所述至少两个参考图像进行校正处理,得到至少两个校正图像,n为正整数;从所述至少两个校正图像中对所述目标采集点对应的区域进行截取,得到至少两个校正区域;基于所述至少两个校正区域的秩匹配情况和相似度情况对所述第n个候选内参进行调整,得到第n+1个候选内参,并进行第n+1次循环调整,直至得到所述相机内参。
7.另一方面,提供了一种相机内参的获取装置,所述装置包括:采集模块,用于采集至少两个参考图像,所述至少两个参考图像为分别从不同采集角度针对目标采集点进行采集得到的图像;校正模块,用于在对候选内参的第n次循环调整过程中,通过第n个候选内参对所述至少两个参考图像进行校正处理,得到至少两个校正图像,n为正整数;截取模块,用于从所述至少两个校正图像中对所述目标采集点对应的区域进行截取,得到至少两个校正区域;调整模块,用于基于所述至少两个校正区域的秩匹配情况和相似度情况对所述第n个候选内参进行调整,得到第n+1个候选内参,并进行第n+1次循环调整,直至得到所述相机内参。
8.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本技术实施例中任一所述相机内参的获取方法。
9.另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本技术实施例中任一所述的相机内参的获取方法。
10.另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的相机内参的获取方法。
11.本技术实施例提供的技术方案带来的有益效果至少包括:获取内参的过程,是根据拍摄场景和拍摄照片,决定内参参数的过程。对参考图像进行校正处理后可以获得更加清晰的图像,此时基于图像的秩匹配情况以及图像之间的相似度情况,不断对候选内参进行调整,实时迭代更新候选内参,直至达到候选内参收敛条件,输出得到相机内参。避免了在参考图像噪声过大时直接进行内参标定使得获取到的内参不准确的情况发生,有效实现了相机的快速实时内参标定的同时,提高内参标定的准确率。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1是本技术一个示例性实施例提供的实施环境示意图;图2是本技术一个示例性实施例提供的相机内参的获取方法的流程图;图3是基于图2示出的实施例提供的相机内参结果的获取方法的流程图;图4是基于图2示出的实施例提供的获取相机内参的循环过程示意图;图5是本技术一个示例性实施例提供的鱼眼相机内参的获取方法的流程图;图6是本技术一个示例性实施例提供的鱼眼相机内参的获取实验过程的示意图;图7是本技术一个示例性实施例提供的相机内参的获取装置的结构框图;图8是本技术另一个示例性实施例提供的相机内参的获取装置的结构框图;图9是本技术一个示例性实施例提供的服务器的结构框图。
具体实施方式
14.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
15.首先,针对本技术实施例中涉及的名词进行简单介绍。
16.人工智能(artificial intelligence,ai):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
17.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
18.机器学习(machine learning,ml):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
19.计算机视觉技术(computer vision,cv):是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(optical character recognition,ocr)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
20.相机内参:是一种在相机坐标系下,将三维点转换到照片像素点的变换关系,相机内参一般包括镜头畸变参数、镜头焦距等参数。对于相机的参数包括:u0、v0、1/dx、1/dy、r、f,其中u0、v0为图像像素坐标系中光轴投影坐标,即主点坐标;1/dx为在x轴方向上每个像素的物理尺寸,1/dy为在y轴方向上每个像素的物理尺寸;r是畸变点距离成像仪中心的距离;f表示相机的镜头焦距。
21.本技术实施例中,以针对鱼眼相机进行相机内参的获取为例进行说明。鱼眼相机是指带有鱼眼镜头的相机,鱼眼镜头是具有超广视角的镜头。与一般的广角镜头、超广角镜头相比,在设计规格上,鱼眼镜头的焦距更短、视角更广。相同画幅和像素尺寸下,鱼眼镜头能容纳更多景物信息。由于鱼眼相机的视角力达到甚至超出人眼所能看到的范围,就导致鱼眼镜头与人眼中真实世界的景象存在较大差别,通过鱼眼相机拍摄的照片,失真度也相对较大。采用本实施例提供的相机内参标定方法能够实现对相机内参的高效及准确标定。
22.相关技术中,针对相机内参的获取需要通过特定的标定标靶进行内参获取,通过采集标靶上特定点的特征情况,建立二维图像与三维图像的映射关系,获取相机内参。然而,采用特定标靶需要在获取内参时携带特定设备,极易受到外界环境的影响,不适合及时应用。同时,对于特殊相机,仅仅通过特定标靶的特征点进行分析,而不对图像进行处理,会导致获取到的相机内参的准确率较低。
23.针对本技术相机内参获取方法,在应用时包括如下场景中的至少一种。
24.第一,应用于自动驾驶领域,示意性的,汽车在自动驾驶过程中为保证驾驶安全,会实时拍摄多张照片以调整自动驾驶的方向与位置。此时,对拍摄的多张照片进行校正、配准、去透视失真处理后截取预设好的局部图片,计算多张照片的秩调整结果以及互信息损失和后,对候选内参进行实时迭代调整,直至候选内参的调整结果符合效果条件,将该候选内参确定为相机内参。在上述自动驾驶场景下,车载摄像头在采集得到道路图像后,通过确定的相机内参对道路图像进行校正,从而基于校正后的道路图像进行图像内容识别,如:识别得到道路图像中的信号灯、道路指示线、障碍物等。通过上述内参获取方式,可以提高自动驾驶的安全性和稳定性。
25.第二,应用于移动采集车辆上,示意性的,移动采集车需要对周边环境的变化情况通过拍摄照片的方式进行实时观测。因此,对移动采集车拍摄的多张照片进行校正、配准、去透视失真处理后截取预设好的局部图片,计算多张照片的秩调整结果以及互信息损失和后,对候选内参进行实时迭代调整,直至候选内参的调整结果符合效果条件,将该候选内参确定为相机内参。在上述移动采集车辆场景下,可以让移动采集车辆通过实时拍摄的照片,使用确定的相机内参对当下采集到的照片进行校正,从而基于校正后的道路照片对道路指定物体进行识别,如:交通信号灯、标志线、电子眼等。通过上述内参获取方式,有利于保持移动采集车辆的高效识别。
26.第三,作为监控设备应用于监控领域中,示意性的,监控设备需要对周边环境的变化通过实时录像的方式进行观测。因此,可以对监控设备获取的录像中随机截取的画面进行校正、配准、去透视失真处理后截取预设好的局部图片,计算多张照片的秩调整结果以及互信息损失和后,对候选内参进行实时迭代调整,直至候选内参的调整结果符合效果条件,将该候选内参确定为相机内参。通过这种内参获取方式,可以让监控设备对录像中随机截取到的画面进行校正,从而通过校正后的画面高度还原监控设备下的场景,既有利于实时分析周边信息,也可以在监控设备视频储存有效期内对视频画面记录的事件进行调取分析,有利于节约人防成本、把握工作进度等。
27.上述候选内参为对内参进行实时调整过程中内参的表现形式。
28.值得注意的是,上述应用场景仅为示意性的举例,本技术实施例提供的相机内参的获取方法还可以应用于其他场景中,如:智能交通场景,本技术实施例对此不加以限定。
29.其次,对本技术实施例中涉及的实施环境进行说明,示意性的,请参考图1,该实施环境中涉及终端110、服务器120,终端110和服务器120之间通过通信网络130连接。
30.在一些实施例中,终端110用于向服务器120发送参考图像。在一些实施例中,终端110中安装有具有图像采集功能的应用程序。
31.本技术实施例提供的相机内参的获取方法可以由终端110单独执行实现,也可以由服务器120执行实现,或者由终端110和服务器120通过数据交互实现,本技术实施例对此不加以限定。本实施例中,以终端110通过具有图像采集功能的应用程序进行图像采集后,向服务器120发送采集得到的图像,由服务器120根据采集得到的图像确定相机内参为例进行说明。
32.可选地,服务器120在接收到终端110发送的图像后,首先根据初始化的候选内参对图像进行校正处理,并根据校正处理的效果对当前的候选内参进行分析,若达到收敛要
求则输出该候选内参作为终端采集图像的相机内参,若不符合收敛要求,则根据校正处理的效果对候选内参进行迭代调整,直至调整后的候选内参符合收敛要求。
33.其中,在对候选内参的第n次循环调整过程中,通过第n个候选内参对至少两个参考图像进行校正处理,得到至少两个校正图像,再对至少两个校正图像中目标采集点所对应的区域进行截取得到至少两个校正区域,之后基于至少两个校正区域的秩匹配情况和相似度情况对候选内参进行调整,得到第n+1个候选内参,并进行第n+1次循环调整,直至循环符合循环结束条件。
34.上述终端可以是手机、智能车载设备、平板电脑、台式电脑、便携式笔记本电脑、智能电视等多种形式的终端设备,本技术实施例对此不加以限定。
35.值得注意的是,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
36.其中,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
37.在一些实施例中,上述服务器还可以实现为区块链系统中的节点。区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
38.结合上述名词简介和应用场景,对本技术提供的相机内参的获取方法进行说明,该方法可以由服务器或者终端执行,也可以由服务器和终端共同执行,本技术实施例中,以该方法由服务器执行为例进行说明,如图2所示,该方法包括如下步骤。
39.步骤210,采集至少两个参考图像。
40.其中,至少两个参考图像为分别从不同采集角度针对目标采集点进行采集得到的图像。参考图像的采集方式包括多种,如:相机拍摄的照片、监控视频中截取的画面、车辆的行车记录仪拍摄的图像等,本技术实施例对此不加以限定。
41.对相机内参的确定需要以目标采集点为基准进行,所以目标采集点应当被采集到参考图像内。同时,目标采集点的种类不限,可以是建筑物,也可以是具有平面特征的标靶,本技术实施例对此不加以限定。
42.由于参考图像是针对目标采集点从不同角度采集的图像,故至少两个参考图像之间存在自相似性,受到自相似性的约束,对参考图像处理后进行相似度比较时结果更为准确,能够更好的实现相机的内参标定。
43.在一些实施例中,至少两个参考图像的获取方式包括如下方式中的至少一种。
44.第一,围绕目标采集点进行视频流采集,并从采集得到的视频流中获取至少两个参考图像。
45.其中,至少两个参考图像为视频流中随机采样得到的图像;或者,至少两个参考图像为视频流中每隔预设帧数采集得到的图像;或者,至少两个参考图像为视频流中指定帧图像,如:视频流中的关键帧图像。本实施例对此不加以限定。
46.第二,围绕目标采集点进行定点采集,得到至少两个参考图像。
47.即,当图像采集设备位于围绕目标采集点对应的指定定点时,接收图像采集指令,并根据图像采集指令进行图像采集,得到参考图像,在多个指定定点进行图像采集后,得到至少两个参考图像。
48.第三,在目标采集点移动且处于图像采集设备采集范围内时,进行图像采集,得到至少两个参考图像。
49.其中,图像采集设备在目标采集点的移动过程中进行连续拍摄;或者,图像采集设备在目标采集点的移动过程中进行视频流采集。
50.值得注意的是,上述参考图像的采集方式仅为示意性的举例,本技术实施例对此不加以限定。
51.可选地,上述目标采集点可以是预先确定的采集点;或者,上述目标采集点为从参考图像中随机确定的物体;或者,上述目标采集点为基于图像中物体面积确定的物体。
52.示意性的,当图像采集设备围绕目标采集点进行图像采集,也即,将目标采集点作为图像采集的视线中心进行图像采集时,则目标采集点位于参考图像的图像中心位置。
53.步骤220,在对候选内参的第n次循环调整过程中,通过第n个候选内参对至少两个参考图像进行校正处理,得到至少两个校正图像,n为正整数。
54.在本实施中,对相机内参的确定是实时迭代进行的,可选地,以n大于2为例,当第n
‑
1次循环调整得到的候选内参不符合收敛要求时,则执行对候选内参的第n次循环调整。
55.其中,候选内参是指在对内参进行实时调整过程中相机内参的中间迭代结果,该候选内参既包括初始化的内参,也包括经过实时调整后的内参。
56.相机是一种利用光学成像原理形成影像并使用底片记录影像的设备。其中,成像过程主要通过镜头实现。如:普通相机的凸透镜镜头、广角相机的广角镜头、鱼眼相机的鱼眼镜头。镜头会因为光学透镜固有的特性或者在制作过程中精度和工艺的偏差,导致原始图像的失真。
57.图像校正是指对失真图像进行的复原性处理。引起图像失真的原因有很多,如:图像畸变、运动模糊、透视失真等。
58.本技术实施例中,以通过第n个候选内参对参考图像进行去畸变校正为例进行说明。在一些实施例中,对图像进行校正的方法还包括灰度变换校正、图像几何校正等。
59.示意性的,通过第n个候选内参对至少两个参考图像进行去畸变校正,得到至少两个校正图像。其中,第i个参考图像进行去畸变校正后,得到第i个校正图像。
60.示意性的,对于鱼眼相机的鱼眼镜头,使用第n个候选内参,通过调用预先训练好的鱼眼相机内参模型(scaramuzza)对至少两个参考图像进行调整,得到至少两个去畸变后的图像,即上述至少两个校正图像。
61.步骤230,从至少两个校正图像中对目标采集点对应的区域进行截取,得到至少两个校正区域。
62.以目标采集点对应的区域为目标进行截取,能够在保证至少两个校正图像之间具有自相似约束的前提下,在相对较小的截取范围内对校正图像进行分析。
63.在一些实施例中,根据目标采集点对校正区域进行截取时,包括如下方式中的至少一种:1.基于对目标采集点的采集要求,对校正图像中的指定区域进行截取,如:在参考图像的采集过程中,是以目标采集点作为采集视线中心进行的,则对校正图像中的中心区域进行截取,得到校正区域;2.基于图像识别结果对校正区域进行截取,如:目标采集点为目标图像内容(如:图像中的目标物体),则对参考图像进行图像识别后,确定目标图像内容在参考图像中所处的区域,并对该区域进行截取。上述截取方式仅为示意性的举例,本实施例对此不加以限定。
64.在一个实施例中,从至少两个校正图像中对目标采集点对应的区域进行截取,得到至少两个校正区域包括:对至少两个校正图像进行配准,得到至少两个配准图像;对至少两个配准图像中与目标采集点对应的目标区域进行截取,得到至少两个校正区域。其中,针对配准图像的区域截取方式与上述针对校正图像的区域截取方式类似,此处不再赘述。
65.示意性的,对至少两个配准图像中心预设尺寸的区域进行截取,得到至少两个校正区域。其中,截取配准图像是为了避免因为某些镜头的视角很大,导致校正之后无法将目标采集点显示在一张照片中而进行的操作,如使用鱼眼镜头拍摄的照片。
66.可选地,在对至少两个校正图像进行配准时,从至少两个校正图像中确定目标校正图像,匹配目标校正图像的第一特征点和其他校正图像的第二特征点,得到至少两个配准图像。其中,其他校正图像为至少两个校正图像中除目标校正图像以外的校正图像。
67.可选地,目标校正图像为至少两个校正图像中采集时刻最早的第一个校正图像;或者,目标校正图像为至少两个校正图像中随机确定的一个图像;或者,目标校正图像为至少两个校正图像中采集时刻最晚的一个校正图像。
68.确定目标校正图像的目的是为了将其他的校正图像以目标校正图像为参考图像进行配准,本实施例中,以目标校正图像为第一个校正图像为例进行说明,将第二个校正图像与第一个校正图像进行配准,得到第二个配准图像;将第三个校正图像与第一个校正图像进行配准,得到第三个配准图像;以此类推。
69.对于图像特征点的提取可以采用多种算法,如:加速稳健特征(speeded up robust features,surf)算法、尺寸不变特征转换(scale
‑
invariant feature transform,sift)算法、harris角点检测、定向快速旋转(oriented fast and rotated brief,orb)算法等。
70.将目标校正图像的第一特征点和其他校正图像的第二特征点进行匹配,可以根据随机抽样一致(random sample consensus,ransac)算法找到相似的稳定特征点对,计算相应的单应矩阵,实现将其他校正图像配准到目标校正图像的过程,得到至少两个配准图像。
71.对至少两个候选校正区域进行去透视失真校正,得到至少两个校正区域。
72.步骤240,基于至少两个校正区域的秩匹配情况和相似度情况对第n个候选内参进行调整,得到第n+1个候选内参,并进行第n+1次循环调整,直至得到相机内参。
73.其中,对第n个候选内参进行调整是根据至少两个校正区域的秩匹配情况和相似度情况进行的操作。以增强至少两个校正区域的相似度为目的对候选内参调整,使候选内参按照能够增强至少两个校正区域的相似度的方向进行调整,经调整之后获得第n+1个候选内参。之后进行第n+1次循环调整,判断候选内参是否达到输出条件,若达到输出条件则将该候选内参输出,得到相机内参。
74.综上所述,本实施例提供的方法,无需特定标靶,只需要针对目标采集点从不同角度获取得到参考图像,对参考图像进行一系列校正处理后得到校正区域,校正区域具有较低的秩,之后对校正区域之间进行相似度的分析,在让校正区域具有低秩纹理的特点下降低校正区域的差异度,实时迭代更新候选内参,直至达到候选内参输出的条件,输出的候选内参即为相机内参。以上操作可以有效地通过对校正区域的分析反映参考图像的特征,实现相机的快速实时内参标定。
75.在一些实施例中,通过去透视失真校正得到至少两个校正区域。图3是本技术另一个示例性实施例提供的相机内参的获取方法的流程图,以该方法应用于服务器中为例进行说明,如图3所示,该方法包括如下步骤。
76.步骤310,采集至少两个参考图像。
77.其中,至少两个参考图像为分别从不同采集角度针对目标采集点进行采集得到的图像。
78.步骤320,在对候选内参的第n次循环调整过程中,通过第n个候选内参对至少两个参考图像进行校正处理,得到至少两个校正图像,n为正整数。
79.在本实施中,对相机内参的确定是实时迭代进行的。
80.其中,候选内参是指在对内参进行实时调整过程中相机内参的中间迭代结果,该候选内参既包括初始化的内参,也包括经过实时调整后的内参。
81.步骤330,从至少两个校正图像中对目标采集点对应的区域进行截取,得到至少两个候选校正区域。
82.对至少两个校正图像进行配准,得到至少两个配准图像;对至少两个配准图像中与目标采集点对应的目标区域进行截取,得到至少两个校正区域。示意性的,对至少两个配准图像中心预设尺寸的区域进行截取,得到至少两个校正区域。
83.步骤340,对至少两个候选校正区域进行去透视失真校正,得到至少两个校正区域。
84.示意性的,对至少两个候选校正区域进行去透视失真校正后,得到至少两个拉直校正区域。
85.其中,透视失真是由于镜头固有的特性而导致图像丧失原本特性的一种现象,被摄体离镜头越远,显得被摄体越小,被摄体外观上的大小变化也越小。为了获取准确的相机内参,亟需缓解透视失真对图像的影响。
86.示意性的,对至少两个候选校正区域采用低秩矩阵恢复办法,去除透视失真。低秩矩阵恢复是将候选校正区域看做一组低秩数据加上噪声形成的,因此可以通过低秩矩阵逼近方法得到去除透视失真之后的校正图像。对至少两个候选校正区域进行去透视失真校正后,会使得至少两个候选校正区域的秩变低,从而得到拉直的校正区域。
87.以降低至少两个拉直校正区域之间的噪声为目标,得到至少两个校正区域和秩调
整结果。
88.其中,经过拉直之后的校正区域是由一组低秩数据加上噪声组成的。因此,校正区域中噪声越高时,代表校正区域受外界的影响越强烈、校正区域的图像校正效果越差;同理,校正区域中噪声越低时,代表校正区域受外界的影响越轻微、校正区域的图像校正效果越好。为了让校正区域最大程度还原目标采集点所处的现实拍摄场景,以降低至少两个拉直校正区域之间的噪声为目标,可以得到至少两个校正区域,校正区域的噪声最小。同时,还可以得到秩调整结果,因为此时噪声最低,得到的低秩数据受噪声的影响最小。
89.步骤350,基于至少两个候选校正区域去透视失真校正后的秩,确定至少两个校正区域对应的秩调整结果。
90.秩调整结果是指经过对候选校正区域去透视失真之后所能得到的秩最低时的表达含义。当图像秩最低时,得到的相机内参最准确。以降低图像的秩为目标,对候选校正区域进行去透视失真处理后,当所得到的拉直的n个校正区域噪声最低时,校正区域的秩最低,由此确定至少两个校正区域对应的秩调整结果。
91.步骤360,基于至少两个校正区域的相似度情况确定互信息损失。
92.其中,互信息是度量两个事件集合之间的相关性。在本实施例中,互信息是指比较两个校正区域之间的相似度,当互信息越高,说明两个校正区域之间相似度越高,两个校正区域越相似。互信息损失比较的是至少两个校正区域之间的差异程度,互信息损失越少,代表相比较的两个校正区域越相似。
93.步骤370,以秩调整结果和互信息损失对第n个候选内参进行调整,得到第n+1个候选内参,并进行第n+1次循环调整,直至得到相机内参。
94.在一些实施例中,确定至少两个校正区域中每个校正区域的秩调整子结果,将至少两个校正区域的秩调整子结果相加后可以得到至少两个校正区域的秩调整结果。
95.其中,秩调整子结果是在第n个候选内参的循环下,对于校正区域在拉直后所能得到的最低的秩。
96.确定至少两个校正区域中任意两个校正区域之间的互信息子损失之和,得到至少两个校正区域对应的互信息损失。
97.其中,任意两个校正区域之间的互信息子损失是将任意两个校正区域比较相似度后,经过负指数函数计算得到互信息子损失。将所有经过比较的互信息子损失相加之后得到至少两个校正区域对应的互信息损失。
98.确定秩调整结果和互信息损失之和,得到至少两个校正区域对应的代价损失。
99.其中,代价损失表示为秩调整结果和互信息损失之和,是为了在充分考虑校正区域是否拉直的基础上,结合不同校正区域之间的差异程度进行分析。保证至少两个校正区域处于拉直状态,可以得到至少两个校正区域各自对应的秩调整子结果,因为秩调整子结果是为了让校正区域具有低秩纹理特征的条件,基于此对不同校正区域之间的差异程度进行分析,追求差异程度的最小化。
100.以降低代价损失为目标,对第n个候选内参进行调整,得到第n+1个候选内参。
101.其中,代价损失是秩调整结果和互信息损失之和。降低代价损失就是尽可能让秩调整结果最小,同时让互信息损失最大。因为代价损失越小,校正区域之间的内容越相似,校正区域所对应的参考图像内容越高度相关、互信息量越大,能够实现低秩纹理特征下参
考图像之间最相关的目的,便于更准确地获取相机内参。
102.示意性的,得到相机内参的条件包括:响应于候选内参的循环迭代调整次数达到次数阈值,将最近一次调整得到的候选内参确定为相机内参;或者响应于候选内参的调整效果符合调整效果条件,将候选内参确定为相机内参。
103.其中,次数阈值是预先设定的,循环迭代调整次数应当在次数阈值所设定的次数范围内进行。当达到次数阈值时,循环迭代调整候选内参的过程不再继续进行,并将最近一次调整得到的候选内参输出,输出的候选内参确定为相机内参。
104.调整效果是指对于候选内参进行调整所期待达到的效果。示意性的,调整效果可以是对于代价损失进行判断。当代价损失不再下降时,此时秩调整结果与互信息损失的和是最低的,达到调整效果条件,循环迭代调整候选内参的过程不再继续进行,并将最近一次调整得到的候选内参输出,输出的候选内参确定为相机内参。
105.上述步骤310至步骤370可以归纳如图4的循环过程。该循环过程包括外层循环410和内层循环420。外层循环410执行上述步骤370,内层循环420执行上述步骤310至步骤360,示意性的,实施流程如下所述。
106.对于外层循环410,在第n次循环过程中,外层循环410根据内层循环420得到的秩调整结果和互信息损失,对第n个候选内参430进行调整,得到第n+1个候选内参430,并进行第n+1次循环调整,直至得到相机内参450,其中n为正整数。示意性的,外层循环410使用顺序二次规划方法,根据秩调整结果和互信息损失按照梯度下降的办法变更第n个候选内参。
107.对于内层循环420,其中包括n张照片。在第n次循环过程中,内层循环420获取经外层循环410校正后得到的候选内参430,对参考图像440进行去畸变矫正,然后将n
‑
1张照片配准到第一张照片上。示意性的,配准方法使用surf算法,匹配不同图像的特征点,计算单应矩阵,完成配准。接下来,分别截取指定中心位置区域的图像,进行优化透视变换,去透视失真,得到拉直的n幅区域图像。对每幅拉直的区域图像衡量秩是否最低,得到每幅拉直图像的秩调整子结果。同时,对多幅拉直区域图像之间计算得到的互信息子损失。每幅拉直图像的秩调整子结果相加得到处理后参考图像440的秩调整结果,将多幅拉直区域图像之间,得到的互信息子损失相加得到互信息损失。将秩调整结果和互信息损失供给外层循环410,对外层循环410的候选内参430进行调整,得到第n+1个候选内参。
108.重复上述循环过程400,直至候选内参430达到收敛要求,输出该候选内参430作为优化后得到的相机内参450。
109.综上所述,本实施例提供的方法,可以在得到当前最低的秩的基础上,对校正区域进行相似度分析,使得校正区域秩最低的同时让校正区域之间相似度最高,表明校正区域与目标采集点所处的现实拍摄场景最为相近,此时得到的相机内参在校正区域低秩和校正区域之间互信息差异最小的共同作用下,可以有效地实现相机内参的快速实时标定。
110.图5是本技术一个示例性实施例提供的相机内参获取方法的整体过程示意图。如图5所示,以鱼眼相机内参标定过程为例,该方法包括如下步骤。
111.步骤501,设定内参初始值、每个内参的值域范围以及迭代次数。
112.其中,设定内参初始值的目的在于使内参标定循环过程开始,设定每个内参的值域范围是为了让内参在值域范围内变化,防止获取的相机内参不准确情况发生。
113.鱼眼相机内参模型如下公式一:公式一:x
c
,y
c
,z
c
是现实世界物体在相机坐标系下的三维坐标,u,v是二维照片中的坐标,ρ是像素坐标距离图像中心点的距离,a0~a4是镜头畸变系数,λ是尺度系数,图像中心为c
x
,c
y
。内参由6个参数组成,分别是a0,a2,a3,a4,c
x
,c
y
,即为需要优化的鱼眼相机的内参。
114.内参初始值为厂家出厂时的默认值,设定每个参数的值域范围。如:a0的变动范围在[
‑
50,50],c
x
,c
y
的变动范围在[
‑
100,100],a2,a3,a4为0到1之间小数,变动范围在正负百分之一。
[0115]
内参标定的过程,就是根据拍摄场景和拍摄照片,决定内参参数的过程。
[0116]
步骤502,n幅图像去鱼眼畸变。
[0117]
其中,鱼眼镜头的视角很大导致经过鱼眼相机拍摄后的照片畸变明显,因此,首先对鱼眼相机拍摄的图像进行去鱼眼畸变处理。可以通过调用scaramuzza鱼眼相机内参模型直接计算得到去畸变后的图像。
[0118]
步骤503,n
‑
1幅图像配准到第一幅图像上。
[0119]
所有去畸变之后的图像都要配准到第一幅图像上。其中,第一幅图像不必然是拍摄最早的第一幅图像,也可以是从n幅图像中随机选取的一幅图像。对图像进行配准是因为拍摄的n幅图像之间受到自相似性的约束,可以让图像之间相似度更高。
[0120]
步骤504,n幅图像截取中心区域图像。
[0121]
示意性的,根据固定的中央位置,截取配准后n幅图像的中心区域。考虑到鱼眼相机视角广的特点,防止需要分析的物体无法显示在一张照片的情况发生。
[0122]
步骤505,根据低秩纹理估计n幅图像透视失真,拉直校正区域图像。
[0123]
对于截取后的配准图像进行去透视失真,可以减轻鱼眼相机所引起的图片透视失真程度大的效果。如使用低秩矩阵恢复方法,去除透视失真,得到每幅局部图像去透视失真后的低秩矩阵。
[0124]
步骤506,计算n幅图像中心区域秩调整结果。
[0125]
对于每幅拉直的校正区域图像都可以得到一个用于衡量秩是否最低的代价函数r(ai),称为秩调整子结果,最终将n幅图像的秩调整子结果进行相加得到秩调整结果。每个秩调整结果代表此时参考图像经过处理后得到的校正区域具有低秩纹理。
[0126]
步骤507,计算不同校正区域之间的互信息损失。
[0127]
对于多幅拉直校正区域图像之间,可以得到互信息计算得到的差异度m(ai,aj),任意两个校正区域之间的差异性结果为互信息子损失,将互信息子损失相加得到互信息损失。互信息损失可以表达校正区域之间所具有的差异性。
[0128]
步骤508,计算代价函数。
[0129]
将秩调整结果和互信息损失相加的结果表达为代价函数。
[0130]
示意性的,代价函数定义为,其中对应图像中央部分进行去透视变换后秩最低时的秩调整子结果,是第i幅图像的低秩矩阵, 是第j幅图像的低秩矩阵。,mi为互信息mutual information的缩写,即测量不同参考图像经过去畸变、截取图像中央部分和去透视变换处理后,图像之间的相似度。m为互信息的负指数函数,表示经过处理后的图像之间的差异程度。
[0131]
步骤509,是否到达迭代次数上限或者代价函数不再下降。
[0132]
代价函数的函数值是随着候选内参的变化而变化的,且因为代价函数表示的是每个参考图像的低秩特征之和以及不同参考图像之间差异性之和,所以代价函数的函数值呈现下降趋势。
[0133]
示意性的,将代价函数转换为,当,λ为固定系数。这个代价函数可再次转化为。这样一来,通过a、e、t这些参数,使得最小,就得到对应的低秩矩阵a。使用分支界限法,可以迭代进行这个代价函数的优化。优化的结果为低秩矩阵,低秩矩阵之间的互信息的负指数函数加上,就是外层循环需要的对应代价函数的函数值。
[0134]
步骤510,输出相机内参参数。
[0135]
上述迭代次数是预先设定的,当达到迭代次数后,该循环不再进行,输出此时的候选内参,该候选内参即为所需相机内参参数;同理,当代价函数不再下降也是该循环结束条件之一,代价函数的下降结果可以通过比较此时的代价函数值与最近一次的代价函数值,如果代价函数值不再下降,则说明候选内参达到最优,输出此时的候选内参,该候选内参即为所需相机内参参数。
[0136]
步骤511,计算梯度下降方向,更新内参参数数值得到候选内参。
[0137]
其中,序列二次规划算法会按照迭代方式自动计算目标函数下降方向对应的参数值,直到代价函数不再下降。
[0138]
若没有到达迭代次数上限或者代价函数仍在下降,根据代价函数值的下降方向,更新内参参数数值得到候选内参,重复进行步骤502至步骤509操作。
[0139]
如图6所示,是对鱼眼相机经过上述步骤501至步骤505进行图像处理后的效果示意图。
[0140]
以第一幅图片为目标配准图片为例,第一幅图片610经过去鱼眼畸变后得到图片611,此时的图片611的视角不再如鱼眼相机直接拍摄出来的图片610一样,而是恢复为人眼视角。因为以第一幅图片为目标配准图片,所以第一幅图片无需经过配准。之后,对图片611进行截取中央部分的操作得到图片612,再对图片612进行去透视失真处理,得到图片613,此时的图片613的秩降低,恢复出来的图片613与现实世界更为相似。
[0141]
第二幅图片620经过去鱼眼畸变后得到图片621,之后,以第一幅图片为目标配准
图片,将第二幅图片620配准到第一幅图片621上,得到配准后的图片622,然后,对图片622进行截取中央部分的操作得到图片623,再对图片623进行去透视失真处理,得到图片624,此时的图片624的秩降低,恢复出来的图片624既与图片613之间存在自相似约束,也与现实世界更为相似。
[0142]
综上所述,鱼眼相机是指带有鱼眼镜头的相机,鱼眼镜头是一种焦距极短并且视角接近甚至等于180
°
的镜头,属于超广角镜头的一种特殊镜头。由于鱼眼相机的视角力达到甚至超出人眼所能看到的范围,就导致鱼眼镜头与人眼中真实世界的景象存在很大差别,通过鱼眼相机拍摄的照片,失真度很大,对鱼眼相机拍摄的照片进行复原极具挑战。正因如此,对鱼眼相机的内参标定也相对很难,但通过以上流程,可以有效复原鱼眼相机拍摄的照片,实现鱼眼相机内参标定的目的,有理由相信,基于以上流程对其他相机进行内参标定处理,同样可以达到较优异的效果,提高相机内参的获取准确度。
[0143]
图7是本技术一个示例性实施例提供的相机内参获取装置的结构框图,如图7所示,该装置包括如下部分:采集模块710,用于采集至少两个参考图像,至少两个参考图像为分别从不同采集角度针对目标采集点进行采集得到的图像;校正模块720,用于在对候选内参的第n次循环调整过程中,通过第n个候选内参对至少两个参考图像进行校正处理,得到至少两个校正图像,n为正整数;截取模块730,用于从至少两个校正图像中对目标采集点对应的区域进行截取,得到至少两个校正区域;调整模块740,用于基于至少两个校正区域的相似度情况对第n个候选内参进行调整,得到第n+1个候选内参,并进行第n+1次循环调整,直至得到相机内参。
[0144]
如图8所示,在一个可选的实施例中,截取模块730包括如下部分:截取单元731,用于从至少两个校正图像中对目标采集点对应的区域进行截取,得到至少两个候选校正区域;校正单元732,用于对至少两个候选校正区域进行去透视失真校正,得到至少两个校正区域。
[0145]
在一个可选的实施例中,调整模块740用于基于至少两个候选校正区域去透视失真校正后的秩,确定至少两个校正区域对应的秩调整结果;基于至少两个校正区域的相似度情况确定互信息损失;以秩调整结果和互信息损失对第n个候选内参进行调整,得到第n+1个候选内参。
[0146]
在一个可选的实施例中,截取模块730用于对至少两个候选校正区域进行去透视失真校正后,得到至少两个拉直校正区域;以降低至少两个拉直校正区域之间的噪声为目标,得到至少两个校正区域和秩调整结果。
[0147]
在一个可选的实施例中,调整模块740还用于确定至少两个校正区域中每个校正区域的秩调整子结果之和,得到至少两个校正区域的秩调整结果;确定至少两个校正区域中任意两个校正区域之间的互信息子损失之和,得到至少两个校正区域对应的互信息损失;确定秩调整结果和互信息损失之和,得到至少两个校正区域对应的代价损失;以降低代价损失为目标,对第n个候选内参进行调整,得到第n+1个候选内参。
[0148]
在一个可选的实施例中,截取模块730还用于对至少两个校正图像进行配准,得到
至少两个配准图像;对至少两个配准图像中与目标采集点对应的目标区域进行截取,得到至少两个校正区域。
[0149]
在一个可选的实施例中,截取模块730还用于从至少两个校正图像中确定目标校正图像;匹配目标校正图像的第一特征点和其他校正图像的第二特征点,得到至少两个配准图像,其中,其他校正图像为至少两个校正图像中除目标校正图像以外的校正图像,目标校正图像为至少两个校正图像中采集时刻最早的第一个校正图像。
[0150]
在一个可选的实施例中,截取模块730还用于对至少两个配准图像中心预设尺寸的区域进行截取,得到至少两个校正区域。
[0151]
在一个可选的实施例中,校正模块720用于通过第n个候选内参对至少两个参考图像进行去畸变校正,得到至少两个校正图像。
[0152]
所述装置还包括:响应模块750,用于响应于候选内参的循环迭代调整次数达到次数阈值,将最近一次调整得到的候选内参确定为相机内参或者响应于候选内参的调整效果符合调整效果条件,将候选内参确定为相机内参。
[0153]
综上所述,本实施例提供的相机内参获取装置,首先经过采集模块采集参考图像,再经过校正模块,对参考图像进行校正处理,得到参考图像对应的校正图像,然后通过截取模块对校正图像进行截取,得到校正图像对应的校正区域,之后经过调整模块基于校正区域秩最低时的秩调整结果以及校正区域之间相似度情况对候选内参进行调整,更新候选内参,直至达到输出条件,输出此时的候选内参,即为相机内参。在这一过程中,对参考图像进行一系列低秩处理后得到相对较低的秩,结合对校正区域之间相似度的分析,实时迭代更新候选内参,直至达到候选内参输出条件,输出的候选内参即为相机内参,有效地实现了相机的快速实时内参标定。
[0154]
图9示出了本技术一个示例性实施例提供的服务器的结构示意图。
[0155]
具体来讲:服务器900包括中央处理单元(central processing unit,cpu)901、包括随机存取存储器(random access memory,ram)902和只读存储器(read only memory,rom)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。服务器900还包括用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备906。
[0156]
大容量存储设备906通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。大容量存储设备906及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,大容量存储设备906可以包括诸如硬盘或者紧凑型光盘只读存储器(compact disc read only memory,cd
‑
rom)驱动器之类的计算机可读介质(未示出)。
[0157]
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、带电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)、闪存或其他固态存储其技术,cd
‑
rom、数字通用光盘(digital versatile disc,dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员
可知计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备906可以统称为存储器。
[0158]
根据本技术的各种实施例,服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
[0159]
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。
[0160]
本技术的实施例还提供了一种计算机设备,该计算机设备可以实现为如图1所示的终端或者服务器。该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的相机内参的获取方法。
[0161]
本技术的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的相机内参的获取方法。
[0162]
本技术的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的相机内参的获取方法。
[0163]
可选地,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、固态硬盘(ssd,solid state drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistance random access memory)和动态随机存取存储器(dram,dynamic random access memory)。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0164]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0165]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。