CN116862997A - 相机标定计算并验证的方法、装置、设备及存储介质 - Google Patents
相机标定计算并验证的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116862997A CN116862997A CN202310868026.7A CN202310868026A CN116862997A CN 116862997 A CN116862997 A CN 116862997A CN 202310868026 A CN202310868026 A CN 202310868026A CN 116862997 A CN116862997 A CN 116862997A
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- camera
- calibration
- real world
- axis
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004364 calculation method Methods 0.000 claims abstract description 47
- 238000013507 mapping Methods 0.000 claims abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 230000009466 transformation Effects 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 14
- 238000003384 imaging method Methods 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000004321 preservation Methods 0.000 claims description 2
- 238000011897 real-time detection Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 239000003550 marker Substances 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011093 chipboard Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
本发明提供了一种相机标定计算并验证的方法、装置、设备及存储介质,具体方法包括获取相机原始视频;进行相机标定,计算相机内外参数;建立图像像素坐标系与真实世界坐标系映射关系,绘制网栅格;动态目标实时检测,并计算输出真实世界坐标。本发明提供的相机标定方法简单,并在一秒内根据标定结果计算相机参数,进而叠加网栅格,实现高效率的标定计算并验证。
Description
技术领域
本发明涉及相机标定技术领域,具体涉及相机标定计算并验证的方法、装置、设备及存储介质。
背景技术
现有大部分相机设备的应用仅停留在表面,检测车或人等目标是否出现,而对该目标的真实世界位置信息的计算处理较为粗略,甚至无法提供相应信息。
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数(内参、外参、畸变参数)必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。相机参数的标定是非常关键的环节,其标定结果的精度及算法的稳定性,直接影响计算相机监控画面中任意一点在真实世界的坐标位置信息结果的准确性。常用的相机标定方法有传统相机标定法、主动视觉相机标定方法、相机自标定法。
传统相机标定法:需要使用尺寸已知的标定物,通过建立标定物上多组坐标已知的点与其图像点之间的对应,利用一定的算法获得相机模型的内外参数。如张正友标定法使用高精度的二维方格组成的标定板进行标定,采集标定板不同位姿图片,提取图片中各个角点的像素坐标,从而计算出相机的内外参数。该方法对标定物的识别要求较高,而且算法复杂,标定处理速度较慢。
主动视觉相机标定方法:通过主动系统控制相机做特定运动,利用控制平台控制相机发生特定的移动拍摄多组图像,依据图像信息和已知位移变化来求解相机内外参数。该方法的缺点是系统的成本高、实验设备昂贵、实验条件要求高,而且不适合运动参数未知或无法控制的场合。
相机自标定法:自标定法精度不如传统标定法和主动视觉法的精度高,但自标定方法最为灵活,应用场合最广。如基于场景约束的自标定,该方法需在不同角度获取若干特征明显的标定物图像实现标定,如广泛存在于建筑或人造场景中的平行线能够帮助提供三个主正交方向的消失点和消失线信息。这类自标定方法没有摆脱对专门标定物的依赖,不适用于设置标定物困难的场合,并且在获取多幅图像过程中需要摄像机与标定物相对位置发生变化,标定过程耗费时间。
相机标定方法经过几十年的发展优化,已经基本能够满足各类常见场景的需求。但是目前仍缺乏一种适应性广,简单方便且高效的相机标定方法,并实时输出标定结果证明标定算法在利用任意一组采集到的标定物像素坐标,计算所得的相机内外参数与该相机实际参数相符。
发明内容
本发明要解决的技术问题是:如何解决现有技术中的相机标定对标定物识别要求高、成本高、适用性窄且标定耗时长的问题。
为了解决上述技术问题,本发明提供了一种相机标定计算并验证的方法,所述方法包括:
S1、获取所述相机的原始视频以及选定原始视频中的标定物并根据选定的标定物完成所述标定物的标定框参数配置;
S2、确定所述标定物各个顶点的像素坐标从而进行相机标定;
S3、根据所述标定框配置的参数和标定物各个顶点的像素坐标建立图像像素坐标系与真实世界坐标系的映射关系,绘制网栅格并在相机画面上实时叠加当前标定结果下的网栅格;
S4、动态目标实时检测,并计算输出真实世界坐标。
进一步的,所述S2中确定标定物各个顶点的像素坐标之前,还包括:规定标定物的各个顶点的像素坐标的保存顺序和配置的标定框参数相对应。
进一步的,所述S3中建立图像像素坐标系与真实世界坐标系的映射关系包括:
S31、真实世界坐标系到相机坐标系的转换,包括对真实世界坐标系的三维坐标点进行旋转和平移:
所述对真实世界坐标系的三维坐标点进行旋转转换的计算公式是:
其中,(Xw,Yw,Zw)为空间内一点Aw在真实世界坐标系下的坐标,所述Aw在相机坐标系中的映射点Ac坐标为(Xc,Yc,Zc),R为旋转矩阵,T为偏移向量,真实世界坐标系转换为相机坐标系时,需要分别绕z轴、x轴、y轴进行旋转,旋转角度为θ、ψ、ω,三维坐标系绕z轴旋转θ时,前后点位坐标的公式为
其中,Rz为三维坐标系绕z轴旋转时的变换矩阵;
三维坐标系绕x轴旋转ψ时,前后点位坐标的公式为
其中,Rx为三维坐标系绕x轴旋转时的变换矩阵;
三维坐标系绕y轴旋转ω时,前后点位坐标的公式为
其中,Ry为三维坐标系绕y轴旋转时的变换矩阵;
得到完整的旋转矩阵,所述对真实世界坐标系的三维坐标点进行旋转的计算公式是:
其中,θ、ψ、ω为真实世界坐标系转换为相机坐标系时分别绕真实世界坐标系的z轴、x轴、y轴旋转的角度;
所述对真实世界坐标系的三维坐标点进行平移转换的计算公式是:
T=[Tx Ty Tz]T
S32、相机坐标系到图像坐标系的转换,利用公式:
其中,(xi,yi)为相机坐标系中点Ac在图像坐标系的成像点Ai的坐标,f为相机的焦距;
S33、图像坐标系到像素坐标系的转换,利用公式:
其中,(xp,yp)为图像坐标系的成像点Ai在像素坐标系下对应点Ap的坐标,(Opx,Opy)为相机摄影中心在像素坐标系投影的坐标,α、β是图像坐标系到像素坐标系转换时的缩放关系,单位为像素/厘米;
S34、真实世界坐标系到像素坐标系的转换,基于所述S33,利用公式:
其中,Zc为相机坐标系到图像坐标系转换的缩放比例因子(Zc不为0),fx,fy为相机x轴,y轴上的归一化焦距,单位为像素,fx=f/dx,fy=f/dy,dx和dy分别表示一个像素在图像平面上x轴和y轴方向的物理尺寸。
进一步的,所述S3中绘制网栅格具体包括:在真实世界坐标系下,构建分别与真实世界坐标系的x轴、y轴平行且z轴坐标固定为Zc的直线,从而组成网栅格。
进一步的,所述S3中在相机画面上实时叠加当前标定结果下的网栅格具体包括:基于所述S34中的公式,根据网栅格线组的真实世界坐标系下的坐标值计算出像素坐标系下的网栅格映射点,并绘制在相机画面中。
优选的,所述S3中相机标定验证的方法包括:
通过实际测量实际场景下目标物体的大小,获取已知大小的目标物体;
在相机画面中的像素坐标系下找到所述目标物体对应的点位;
将所述点位与相同点位的网栅格标尺线进行比对并计算网栅格上标记的间距;
将已知的精确数值与计算出的间距数值进行比对,验证相机标定的准确性。
优选的,所述S4中动态目标实时检测的方法包括:根据图像像素坐标系下的映射点坐标逆向计算出所述映射点在真实世界坐标系下的原始点的坐标。
优选的,所述S4具体包括:
通过视频图像识别技术对相机视频进行检测;
检测到目标物体出现在相机的目标区域内时,所述相机检测程序直接输出目标物体的分类和像素坐标系下的各个顶点坐标;
由所述S3中的公式,计算出各个所述顶点坐标在真实世界坐标系下原始点的坐标。
一种相机标定计算并验证的装置,包括:
获取模块,用于获取相机原始视频,验证原始视频有效,提取视频中的标定物;
标定计算模块,用于转换所述标定物对应在不同坐标系下的坐标值;
绘制对比模块,用于验证相机标定的准确性。
一种相机标定计算并验证的设备,包括:
存储器,用于存储操作系统、驱动程序、相机标定计算验证程序以及人机交互应用程序;
处理器,用于调用所述存储器中存储的相机标定计算验证程序,计算并输出相机标定结果,执行时实现所述相机标定计算验证方法的步骤;
网络接口,用于与相机、人机交互应用前端界面进行数据通信;
用户接口,用于与用户进行数据交互。
一种存储介质,所述存储介质上存储有相机标定验证程序,所述相机标定验证程序被执行时实现所述相机标定计算验证方法的步骤。
与现有技术相比,本发明具有如下有益效果:
由于本发明提供的相机标定计算验证方法仅需配置相机视频地址,配置标定框宽与长两个参数,并在相机画面中选择四个点位,即可完成相机标定,因此本发明提供的相机标定方法简单,并在一秒内根据标定结果计算相机参数,进而叠加网栅格,实现高效率的标定计算并验证。
由于本发明在标定计算出相机参数时,在相机画面上实时叠加当前标定结果下的网栅格,以供微调点位使标定结果更精确。
由于本发明不仅建立起真实世界坐标系到像素坐标系的转换关系,还可以结合视频图像检测技术,根据像素坐标系下被检测物体的坐标,反推出其在真实世界坐标系下的坐标信息,融合虚拟与现实,将目标物体与周围环境融合,实现可视化展示。
附图说明
图1为本发明相机标定计算并验证的设备集合框图;
图2为本发明相机标定计算并验证方法的流程图;
图3本发明相机标定计算并验证方法的网栅格一实施例的示意图;
具体实施方式
为使本发明的技术方案和技术效果更加清楚,下面将结合实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本发明提供了一种相机标定计算并验证的装置,包括:
获取模块,用于获取相机原始视频,验证原始视频有效,提取视频中的标定物;
标定计算模块,用于转换所述标定物对应在不同坐标系下的坐标值;
绘制对比模块,用于验证相机标定的准确性。
该装置包括的硬件设备有:电源接口101、处理器102、存储器103、网络接口104、用户接口105和主板总线106。
其中,电源接口101一般采用符合国家标准的三芯插头和与之配套的三孔插座,通过220V市电进行供电。针对某些不方便直接架设市电线路的特殊场景,还可以调整为蓄电池直流电供电。
处理器102可以选择Intel公司或者AMD公司生产的X86架构的中央处理器(Central Processing Unit,CPU)芯片板卡,还可以选择ARM架构的处理器芯片板卡。处理器102用于调用存储器103中存储的相机标定计算验证程序,计算并输出相机标定结果,执行本发明的相机标定计算验证方法。
存储器103包括高速的随机存取存储器(Random Access Memory,RAM)存储器和只读(Read-Only Memory,ROM)存储器,还包括稳定的非易失性存储器(Non-VolatileMemory,NVM),例如磁盘存储器。存储器103可选的还可以是与前述处理器102融合的计算存储芯片核心板。存储器103用于存储操作系统、相机标定计算验证程序等文件。
网络接口104可选的可以包括标准的有线以太网(Ethernet)接口、无线接口(如WiFi(Wireless-Fidelity,无线保真)接口、4/5G(Generation Mobile CommunicationTechnology,移动通信技术)接口)。网络接口104主要用于与监控相机、人机交互前端界面进行数据通信。
用户接口105可选的显示单元可以包括标准的有线音视频接口的显示屏,如HDMI、VGA、DP、DVI。还可以包括标准的无线接口,如投影、远程屏幕共享。输入单元比如标准的有线USB接口的鼠标、键盘。可选用户接口105还可以包括标准的触摸屏、触摸笔,以及其他类型的有线、无线接口。用户接口105主要用于与用户进行数据交互,如进行相机配置、标定,标定结果实时画面输出。
主板总线106用于实现这些组件之间的连接,实现供电、数据通信等功能。
以上所述的各项硬件组成结构并非是相机标定计算并验证设备的充分且必要限定,可以包括比上述示例更多或更少的部件,例如增加指示灯、外壳等部件,取消音视频显示单元的接口。
某些部件可以同时涵盖多种实现方式,例如网络接口可将有线以太网接口、WiFi接口、4/5G接口同时组合使用,并设置为主要网络、备用网络,从而实现主要网络突发故障的情况下仍可正常接收输出数据,提高系统的鲁棒性。又例如当需要更高效的同时处理多路相机监控视频的标定计算,可选的方法包括更换高性能的处理器102,可选的还可以是增加图形处理器(Graphics Processing Unit,GPU)芯片板卡,以支持更大规模的相机视频的预览、标定计算。
作为一种存储介质的存储器103中的存储内容可以包括操作系统、驱动程序、相机标定验证程序、人机交互应用以及其它程序或文件等。操作系统、驱动程序等与硬件环境紧密相关的需根据处理器102、网络接口104的选项进行适配,确保其可以正常进入工作状态。相机标定验证程序与人机交互应用是用来实现本发明相机标定计算并验证的方法的软件程序。
如图2所示,本发明提供的相机标定计算并验证方法,概括为以下步骤:
步骤S1:获取相机原始视频,即获取所述相机的原始视频以及选定原始视频中的标定物并根据选定的标定物完成标定物参数配置。
步骤S2:进行相机标定,计算相机内外参数,即确定所述标定物各个顶点的像素坐标从而进行相机标定。
步骤S3:建立图像像素坐标系与真实世界坐标系映射关系,绘制网栅格,即根据所述标定框配置的参数和标定物各个顶点的像素坐标建立图像像素坐标系与真实世界坐标系的映射关系,绘制网栅格并在相机画面上实时叠加当前标定结果下的网栅格。
步骤S4:动态目标实时检测,并计算输出真实世界坐标。
具体步骤说明如下:
步骤S1:获取相机原始视频。
步骤S11:配置相机原始视频的地址。
通过本发明提供的设备中的用户接口105、人机交互应用程序界面,配置相机原始视频的地址。相机视频地址可以是由相机设备本身推送的RTSP(Real Time StreamingProtocol,RFC2326,实时流传输协议)格式的视频流地址,还可以是流媒体服务器转发的视频流地址。
还可以选择RTMP(Real Time Messaging Protocol,实时消息传输协议)格式的视频流地址。也可以选择HLS(HTTP Live Streaming,HTTP实时流媒体)格式的视频流地址。还可以为其他协议实现的网络视频流。本发明并不对所有网络视频流的协议格式逐一罗列描述。
配置任意一种协议格式的网络视频流,将其参数保存在本装置存储器103中。
除上述的网络实时视频流方式外,可选的,本方法还可以使用事先采集的本地视频文件。视频文件的格式包括但不限于MP4、AVI、TS、NTFS等。进一步的,需通过用户接口105接入U盘或硬盘拷贝视频文件,还可以通过网络接口104下载视频文件,将视频文件存储在本装置存储器103中。
步骤S12:预览相机视频,验证视频有效。
本方法所述的相机标定验证程序读取本装置存储器103中的相机原始视频地址参数。若是网络实时视频流,则调用网络接口104,通过局域网或互联网,与网络相机建立通信视频。根据相机的视频流格式进行解码、播放,在本方法所述的人机交互应用程序界面中展示完整视频画面。
本方法预览相机视频时,将从视频信息中自动解析获取视频分辨率参数,并按照原始分辨率展示视频画面。若显示器分辨率与视频分辨率不同,则通过缩小界面、添加进度条的方式自适应调整。可选的,通过鼠标、键盘对展示界面调整缩放比例,从而改变显示器上视频画面的大小。
需要说明的是,必须根据局域网路由器规则,配置网络接口104相关参数,确保本设备与相机设备处于网络联通状态,否则无法获取视频。
若配置为本地视频文件时,则可以不需要网络接口正常可用。只需要通过内部主板总线和本装置内的存储器直接通信,打开本地文件,并将其发送到人机交互应用程序界面进行展示。
步骤S13:提取相机视频画面中的标定物。
预览相机视频时,观察画面内是否有特征明显的矩形标志物。以本发明面向的一种应用场景城市道路卡口电警监控相机为例。国家标准《GB 5768.3道路交通标志和标线第3部分:道路交通标线》规定“设计速度不小于60km/h的道路,可跨越同向车行道分界线线段及间隔长分别为600cm和900cm;设计速度小于60km/h的道路,可跨越同向车行道分界线线段及间隔长分别为200cm和400cm”。由此可知,城市道路中常见的同向车行道分界线线段为600cm,结合城市道路每条车道宽度的相关标准为350cm,可以清楚的知道单条车道两侧的车行道分界线线段所围成的形状是标准的350x600cm的矩形。
可选的,还可以借助其它的导向线、人行横道线、车距确认线、路面文字标记等大小已知的道路交通标志和标线。
若相机监控画面中不存在特征明显的标志物,则需要人工介入。如模拟道路标线,在画面中临时放置一块100x100cm的正方形标定物。待相机标定计算验证完成后,即可回收道路中的标志物,既不会对道路造成影响,也可循环使用不造成浪费。
本发明并不限制标志物的形状以及大小尺寸,理论上来说,三个点以上的任意多边形图案均可作为本发明的标定物。但从实际场景应用,以及个人习惯、便利性、准确率等方面综合考虑,矩形标志物更方便易用。标志物可以选择任意适宜的尺寸,但需确保其在相机画面中清晰可辨。
需要强调的是,单相机获取的图像只能计算出二维坐标,本发明所应用的场景主要为二维平面上某点的真实世界坐标计算验证。标志物选择时必须是处于该平面内,否则将影响相机标定计算结果,导致在真实世界坐标计算时出现严重偏差。
如果需要能计算出三维空间中某点的真实世界坐标,则需要在本发明的基础上进行扩展。部署两个以上的相机,且多套相机之间的位置关系也是已知的。对每个相机进行以上标定,把三维空间中多个点在所有相机成像的二维坐标都计算出来,将同一个点在不同相机中的二维坐标建立映射关系,这样就可以计算出三维坐标。
步骤S2:进行相机标定,计算相机内外参数。
根据步骤S1所选定的标定物,通过用户接口在人机交互应用程序界面配置标定物的尺寸。例如将单条车道两侧的车行道分界线线段所围成的形状作为标志物时,将参数配置为标定框宽350cm,标定框长600cm的矩形。
标定物的标定框参数配置完成后,播放视频相机画面,人工将矩形标定物的四个顶点在画面中映射点位的像素坐标标记出。可选的,确定标定物顶点像素坐标时,可以基于视频进行标定。相机视频可以保持播放状态,画面始终刷新为真实世界实时情况。还可以基于图片进行标定,选择任意时刻暂停视频播放,截取此时的真实世界画面获得一张图片,在图片中进行标定。
以上基于视频或图片的两种标定方式,本质上并无区别,对本方法相机标定计算验证的处理流程、结果等不存在任何影响。考虑到真实世界可能存在车、人或其他物体经过画面区域,遮挡标定物,造成相机画面中无法找到标定物。因此,在标定物尚未被遮挡影响时,暂停视频播放,截取一张图片用于标定的方式更为便利。
像素坐标系(pixel coordinate system)是为了描述物体成像后的像点在数字图像上(相机画面)的坐标而引入,是我们真正从相机预览画面内读取到的信息所在的坐标系。单位为个(像素数目)。在具体实现中,一般以图像的左上角为坐标系原点(0,0),水平向右方向为X轴正方向,垂直向下方向为Y轴正方向,以像素为单位。一般情况下,任意一点的像素坐标值不会超过相机的分辨率,如相机分辨率为1920x1080时,相机画面中的右下角点坐标值即为(1920,1080),此时任意一点的像素坐标在X轴或Y轴的坐标值超过该范围均视作超过相机画面的非法值。同理可知,任意一点的像素坐标值均不小于左上角原点(0,0)。
在画面中标记矩形标定物四个顶点时,为了防止标定框的宽与长和顶点像素坐标对应关系颠倒,导致相机标定计算出错误的相机内外参数。需要规定标定物的各个顶点的像素坐标保存顺序和宽、长的对应关系。
在具体实现中,可以选择以标定物左上角为起点,然后按照逆时针的顺序,连续选定左下-右下-右上各点,依次保存这四组点位的x坐标和y坐标。当然,标定物像素坐标点位的保存方式不局限于上述情形,还可以是其它点位作为起点。还可以是顺时针顺序保存。甚至还可以是由左到右再由上到下的顺序。还可以是先保存y坐标,再保存x坐标。
需要强调的是,无论选择什么方式保存标定物像素坐标值,和该四组点位的像素坐标值的大小完全无关。
确定标定物各个顶点的像素坐标之前,计算相机内外参数时,规定标定物的各个顶点的像素坐标的保存顺序和配置的标定框参数相对应。
步骤S3:建立图像像素坐标系与真实世界坐标系映射关系,绘制网栅格。
根据步骤S2所保存的标定框宽和长,以及矩形标定物四组顶点像素坐标值,计算获取相机内参矩阵、真实世界坐标系到相机坐标系的旋转矩阵、真实世界坐标系到相机坐标系的平移矩阵等相关参数。
相机将三维世界中的坐标点(单位:厘米)映射到二维图像平面(单位:像素)的过程能够用一个几何模型来描述,称为针孔相机模型(pinhole camera model)。相机标定计算涉及到四个坐标系,分别是真实世界坐标系(world coordinate system),相机坐标系(camera coordinate system),图像坐标系(image coordinate system),像素坐标系(pixel coordinate system)。
真实世界坐标系,也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体在真实世界里的空间位置。真实世界坐标系的位置可以根据实际情况自由确定。单位一般为m米,㎝厘米。
相机坐标系,也是一个三维直角坐标系,原点位于镜头光心处,x、y轴分别与相面的两边平行,z轴为镜头光轴,与像平面垂直。在相机上建立的坐标系,为了从相机的角度描述物体位置而定义,作为沟通真实世界坐标系和图像/像素坐标系的中间一环。单位一般为m米,㎝厘米。
图像坐标系,是一个二维直角坐标系,原点是相机光轴与相面的交点(称为主点),即图像的中心点,x轴、y轴分别于像面的两边平行。为了描述成像过程中物体从相机坐标系到图像坐标系的投影透射关系而引入,方便进一步得到像素坐标系下的坐标。单位一般为㎝厘米,mm毫米。
像素坐标系也是一个二维直角坐标系,反映了相机CCD/CMOS芯片中像素的排列情况。原点位于图像的左上角,x轴、y轴分别于像面的两边平行。为了描述物体成像后的像点在数字图像上(相片)的坐标而引入,是我们真正从相机内读取到的信息所在的坐标系。单位为个(像素数目)。
相机标定计算就是根据针孔相机模型的成像原理,计算出几何模型参数,也就是相机参数。
步骤S31:真实世界坐标系到相机坐标系的旋转矩阵,具体方法如下:
从真实世界坐标系到相机坐标系的坐标转换,是一个刚体变换,即物体不会发生形变,只需对真实世界坐标系的三维点进行旋转和平移。该变换过程的公式为
其中,(Xw,Yw,Zw)为空间内一点Aw在真实世界坐标系下的坐标,其在相机坐标系中的映射点Ac坐标为(Xc,Yc,Zc)。
R为旋转矩阵,T为偏移向量,该组参数为相机的外参,是真实世界坐标系下转换到相机坐标系下时,根据安装点位、角度等因素建立的坐标轴旋转角度和原点偏移向量变换关系。真实世界坐标系转换为相机坐标系时,需要分别绕z轴、x轴、y轴进行旋转,角度为θ、ψ、ω。
三维坐标系绕z轴旋转θ时,前后点位坐标的数学公式为
整理为矩阵格式则为
Rz为绕z轴旋转时的变换矩阵。
三维坐标系绕x轴旋转ψ时,前后点位坐标的公式为
其中,Rx为三维坐标系绕x轴旋转时的变换矩阵。
三维坐标系绕y轴旋转ω时,前后点位坐标的公式为
其中,Ry为三维坐标系绕y轴旋转时的变换矩阵。
得到完整的旋转矩阵R,对真实世界坐标系的三维坐标点进行旋转的计算公式是
其中,θ、ψ、ω为真实世界坐标系转换为相机坐标系时分别绕真实世界坐标系的z轴、x轴、y轴旋转的角度。
平移向量T=[Tx Ty Tz]T,表示真实世界坐标系原点Ow在相机坐标系中的位置。
步骤S32:相机坐标系到图像坐标系,具体方法如下:
相机坐标系到图像坐标系的过程进行了从三维坐标到二维坐标的转换,也即投影透视过程(用中心投影法将物体投射到投影面上,从而获得的一种较为接近视觉效果的单面投影图,也就是使我们人眼看到景物近大远小的一种成像方式)。
相机坐标系上的物体在图像坐标系上所成的图像为倒立实像。点Ac在图像坐标系的成像点为Ai(xi,yi)。该变换过程的公式为
其中,(xi,yi)为点Ai在图像坐标系下的坐标,f为相机的焦距,单位一般为mm毫米。
整理后可得
步骤S33:图像坐标系到像素坐标系,具体方法如下:
图像坐标系和像素坐标系之间只存在一个缩放和平移,该变换过程的公式为
其中,(xp,yp)为图像坐标系的成像点Ai在像素坐标系下对应点Ap的坐标。(Opx,Opy)为是相机摄影中心在像素坐标系投影的坐标。一般为相机画面图片在像素坐标系下中心点的坐标,数值为相机水平分辨率和垂直分辨率数值的1/2。α、β是图像坐标系到像素坐标系转换时的缩放关系,单位为像素/厘米。
步骤S34:真实世界坐标系到像素坐标系,具体方法如下:
结合步骤S32,进一步整理后可得相机坐标系到像素坐标系的变换公式
整理成矩阵格式则为
将Zc移到等式左边,并代入步骤S31的变换公式,可以得到真实世界坐标系到像素坐标系的转换公式
其中,Zc为相机坐标系到图像坐标系转换的缩放比例因子(Zc不为0)。fx,fy为相机x轴,y轴上的归一化焦距,单位为像素。fx=f/dx,fy=f/dy,dx和dy分别表示一个像素在图像平面上x轴和y轴方向的物理尺寸,由传感器尺寸和相机分辨率的比例计算而得。一般情况下,相机成像时物体的高宽变换的比例是不同的,这个比例就是根据焦距得到的。因此,需要分别计算相机x方向和y方向的焦距。
根据相机分辨率,矩形标定物的顶点坐标和边长,以及矩形对边平行和邻边垂直等已知信息,利用上述公式即可求得相机焦距f,旋转矩阵R,平移向量T等相机参数。
步骤S35:绘制网栅格,获取已知大小的目标物体,具体方法如下:
通过相机标定计算出相机内外参数,建立真实世界坐标系到像素坐标系的转换关系。在真实世界坐标系下,构建分别与真实世界坐标系的x轴、y轴平行且z轴坐标固定为Zc的直线,从而组成网栅格。由于一般是对地面目标进行检测,因此其垂直于地面方向的坐标值(一般为z轴方向)可以视作为0。根据网栅格线组的真实世界坐标系下的坐标值计算出像素坐标系下的网栅格映射点,并绘制在相机画面中。需要说明的是,网栅格的行列数以及网格大小并不是固定值,根据相机画面中的实际场景情况而定。
这是基于相机成像中,一般情况下,相同大小的物体在近处(相机画面下侧)的像素数比远处更大,中间的像素数比两侧大。举例说明,真实世界坐标下,在与y轴平行的一条直线上选择两组间隔均为10m的两个点位组成两条线段,一组点位在相机画面下侧,另一组点位在相机画面上侧。我们可以很清楚的看到,同样为10m的线段在相机画面下侧时,像素数为300个像素以上;而当其位于画面上侧时,像素数不超过50个像素。
若采用真实世界坐标下间距相同的网栅格,则会出现相机画面下侧线条稀疏,相机画面上侧密集,因此需同时真实世界坐标下的间距与像素坐标系下的像素数量,自适应调整网栅格间距。根据相机画面区域在真实世界的实际大小,选择合适的初始值L,单位为m米。相机画面最下侧的两直线在真实世界坐标系下间距为L米,相邻直线的间距以此为基准值,由下往上逐渐调整放大比例,使网栅格的间距适配真实世界坐标系到像素坐标系的转换。每条直线还需标出真实世界坐标系下y轴坐标值,用于与实际场景进行对比。
同理,结合像素和真实世界距离,自适应调整间距绘制网栅格中另一个方向的直线间隔,并标出真实世界坐标系下x轴坐标值。
需要强调的是,真实世界坐标系下一直线上的所有点位转换到像素坐标系下时,仍保持为在一条直线上。但真实世界坐标系下平行、垂直或其它空间关系的两条直线,转换到像素坐标系下并非一定保持原有关系。因此真实世界坐标下网栅格平行或垂直的线条在相机画面中的像素坐标系下可能不再是平行、垂直关系。所以在相机画面中叠加的网栅格不是标准矩形区块时,这不是错误现象,而是符合相机成像原理的,其映射到真实世界坐标系下便是标准矩形网栅格。
如图3所示,真实世界坐标系下z坐标值固定的网栅格可以视作是一个二维平面坐标系,该坐标系映射到相机画面区域的部分主要是x轴坐标范围[-40,40],y轴坐标范围[25,65]所围成的区域。当然从图3可以看出,还存在该范围之外的区域,但是实际场景下基本可以忽略该部分区域。一般情况下,在上述主要区域内存在一个或若干个已知大小的物体。
通过图3可以看出,y轴上,相机画面最下侧的两直线在真实世界坐标系下间距为5米,在像素坐标系下像素间距差别不大的情况下,真实世界坐标系下的间距逐渐增大为7米、8米、10米。每条直线还需标出真实世界坐标系下y轴坐标值,用于与实际场景进行对比。
x轴上,真实世界坐标系下的间距保持为10米的直线在相机画面上侧的像素间距逐渐缩小。若无限延长相机画面区域,同时延长网栅格标尺线,x轴上间距相同的栅格线将在像素坐标系下交于一点。该点即为灭点,空间平行直线组的投影在像平面上的直线组的交点。
需要说明的是,图3所示网栅格示意图仅用于本发明的说明阐述,并不代表网栅格的大小、形状、角度、单位等仅此一种。当相机不同,甚至是同一个相机的安装角度、位置不同时,网栅格是随之变化的。
在相机画面中叠加网栅格后,可以看到网栅格将真实世界实际场景分割成了不同大小的区块。相机画面中绘制的网栅格可以看作是在真实世界坐标系下绘制的标尺线。
通过实际测量实际场景下目标物体的大小,获取已知大小的目标物体;在相机画面中的像素坐标系下找到所述目标物体对应的点位;将所述点位与相同点位的网栅格标尺线进行比对并计算网栅格上标记的间距;将已知的精确数值与计算出的间距数值进行比对,验证相机标定的准确性。
需要强调的是,本发明在进行相机标定,计算相机内外参数,构建真实世界坐标系到像素坐标系的转换关系时,并不是一个一次即结束的操作。实际上,利用鼠标、显示器在相机画面中的像素坐标系下选择点位进行标定时,鼠标的轻微移动基本涵盖了数个甚至数十个像素的范围。提取并保存的点位坐标值只能视作是一个近似值。
因此,本方法在鼠标移动时,持续选取上传当前点位的坐标近似值,并计算相机参数,得到网栅格。在相机画面上实时叠加当前标定结果下的网栅格,以供微调点位使标定结果更精确。经实际测试,本发明可在一秒内重复步骤S2和步骤S3高达数十次,并自动对比判断出最优解进行展示。
步骤S4:动态目标实时检测,并计算输出真实世界坐标。
根据相机标定计算出相机内外参数,建立真实世界坐标系到像素坐标系的转换关系,还可以根据像素坐标系下的映射点坐标反推出真实世界坐标系下该映射点的坐标,并计算该映射点在真实世界坐标系下的原始点的坐标。具体方法为:当通过视频图像识别技术对相机视频进行检测,检测识别到车、人或其他物体出现在目标区域内时,检测程序直接输出的是物体的分类和检测框的各顶点坐标。一般情况下,为了方便展示,检测框是在相机画面中叠加的矩形,也就是像素坐标系下构建的矩形。
当获取到像素坐标系下的一个矩形四个顶点的坐标值时,可以计算出这四个顶点在真实世界坐标系下原始点的坐标(z轴坐标和网栅格同样固定为Zc)。进一步的,可以计算出该物体的大小,真实世界坐标等信息。
需要强调的是,像素坐标系下的矩形转换到真实世界坐标系下一般不是矩形。为了符合现实情况和常规习惯,将像素坐标系下的矩形物体检测框进行转换,得到真实世界坐标下的不规则四边形后。经过进一步计算处理调整顶点坐标,获得真实世界坐标系下的物体外接矩形。
计算出物体在真实世界坐标系下的坐标后,空间坐标、移动速度、物体间距等高阶数据都可以进一步处理得到。还可以在3D建模、数字孪生等应用中融合虚拟与现实,将物体与周围环境融合,实现可视化展示。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (11)
1.一种相机标定计算并验证的方法,其特征在于,所述方法包括:
S1、获取相机原始视频:获取所述相机的原始视频以及选定原始视频中的标定物并根据选定的标定物完成所述标定物的标定框参数配置;
S2、进行相机标定,计算相机内外参数:确定所述标定物各个顶点的像素坐标从而进行相机标定;
S3、建立图像像素坐标系与真实世界坐标系映射关系,绘制网栅格:根据所述标定框配置的参数和标定物各个顶点的像素坐标建立图像像素坐标系与真实世界坐标系的映射关系,绘制网栅格并在相机画面上实时叠加当前标定结果下的网栅格;
S4、动态目标实时检测,并计算输出真实世界坐标。
2.根据权利要求1所述的相机标定计算并验证的方法,其特征在于,所述S2中确定标定物各个顶点的像素坐标之前,还包括:规定标定物的各个顶点的像素坐标的保存顺序和配置的标定框参数相对应。
3.根据权利要求1所述的相机标定计算并验证的方法,其特征在于,所述S3中建立图像像素坐标系与真实世界坐标系的映射关系包括:
S31、真实世界坐标系到相机坐标系的转换,包括对真实世界坐标系的三维坐标点进行旋转和平移:
所述对真实世界坐标系的三维坐标点进行旋转转换的计算公式是:
其中,(Xw,Yw,Zw)为空间内一点Aw在真实世界坐标系下的坐标,所述Aw在相机坐标系中的映射点Ac坐标为(Xc,Yc,Zc),R为旋转矩阵,T为偏移向量,真实世界坐标系转换为相机坐标系时,需要分别绕z轴、x轴、y轴进行旋转,旋转角度为θ、ψ、ω,三维坐标系绕z轴旋转θ时,前后点位坐标的公式为
其中,Rz为三维坐标系绕z轴旋转时的变换矩阵;
三维坐标系绕x轴旋转ψ时,前后点位坐标的公式为
其中,Rx为三维坐标系绕x轴旋转时的变换矩阵;
三维坐标系绕y轴旋转ω时,前后点位坐标的公式为
其中,Ry为三维坐标系绕y轴旋转时的变换矩阵;
得到完整的旋转矩阵,所述对真实世界坐标系的三维坐标点进行旋转的计算公式是:
其中,θ、ψ、ω为真实世界坐标系转换为相机坐标系时分别绕真实世界坐标系的z轴、x轴、y轴旋转的角度;
所述对真实世界坐标系的三维坐标点进行平移转换的计算公式是:
T=[Tx Ty Tz]T
S32、相机坐标系到图像坐标系的转换,利用公式:
其中,(xi,yi)为相机坐标系中点Ac在图像坐标系的成像点Ai的坐标,f为相机的焦距;
S33、图像坐标系到像素坐标系的转换,利用公式:
其中,(xp,yp)为图像坐标系的成像点Zi在像素坐标系下对应点Ap的坐标,(Opx,Opy)为相机摄影中心在像素坐标系投影的坐标,α、β是图像坐标系到像素坐标系转换时的缩放关系,单位为像素/厘米;
S34、真实世界坐标系到像素坐标系的转换,基于所述S33,利用公式:
其中,Zc为相机坐标系到图像坐标系转换的缩放比例因子(Zc不为0),fx,fy为相机x轴,y轴上的归一化焦距,单位为像素,fx=f/dx,fy=f/dy,dx和dy分别表示一个像素在图像平面上x轴和y轴方向的物理尺寸。
4.根据权利要求3所述的相机标定计算并验证的方法,其特征在于,所述S3中绘制网栅格具体包括:在真实世界坐标系下,构建分别与真实世界坐标系的x轴、y轴平行且z轴坐标固定为Zc的直线,从而组成网栅格。
5.根据权利要求4所述的相机标定计算并验证的方法,其特征在于,所述S3中在相机画面上实时叠加当前标定结果下的网栅格具体包括:基于所述S34中的公式,根据网栅格线组的真实世界坐标系下的坐标值计算出像素坐标系下的网栅格映射点,并绘制在相机画面中。
6.根据权利要求5所述的相机标定计算并验证的方法,其特征在于,所述S3中相机标定验证的方法包括:
通过实际测量实际场景下目标物体的大小,获取已知大小的目标物体;
在相机画面中的像素坐标系下找到所述目标物体对应的点位;
将所述点位与相同点位的网栅格标尺线进行比对并计算网栅格上标记的间距;
将已知的精确数值与计算出的间距数值进行比对,验证相机标定的准确性。
7.根据权利要求3所述的相机标定计算并验证的方法,其特征在于,所述S4中动态目标实时检测的方法包括:根据图像像素坐标系下的映射点坐标逆向计算出所述映射点在真实世界坐标系下的原始点的坐标。
8.根据权利要求7所述的相机标定计算并验证的方法,应用于相机检测程序中,其特征在于,所述S4具体包括:
通过视频图像识别技术对相机视频进行检测;
检测到目标物体出现在相机的目标区域内时,所述相机检测程序直接输出目标物体的分类和像素坐标系下的各个顶点坐标;
由所述S3中的公式,计算出各个所述顶点坐标在真实世界坐标系下原始点的坐标。
9.一种相机标定计算并验证的装置,其特征在于,包括:
获取模块,用于获取相机原始视频,验证原始视频有效,提取视频中的标定物;
标定计算模块,用于转换所述标定物对应在不同坐标系下的坐标值;
绘制对比模块,用于验证相机标定的准确性。
10.一种相机标定计算并验证的设备,其特征在于,包括:
存储器,用于存储操作系统、驱动程序、相机标定计算验证程序以及人机交互应用程序;
处理器,用于调用所述存储器中存储的相机标定计算验证程序,计算并输出相机标定结果,执行时实现如权利要求1至8中任一项所述相机标定计算验证方法的步骤;
网络接口,用于与相机、人机交互应用前端界面进行数据通信;
用户接口,用于与用户进行数据交互。
11.一种存储介质,其特征在于,所述存储介质上存储有相机标定验证程序,所述相机标定验证程序被执行时实现如权利要求1至8任一项所述的相机标定计算验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868026.7A CN116862997A (zh) | 2023-07-14 | 2023-07-14 | 相机标定计算并验证的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310868026.7A CN116862997A (zh) | 2023-07-14 | 2023-07-14 | 相机标定计算并验证的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116862997A true CN116862997A (zh) | 2023-10-10 |
Family
ID=88226592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310868026.7A Pending CN116862997A (zh) | 2023-07-14 | 2023-07-14 | 相机标定计算并验证的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116862997A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152257A (zh) * | 2023-10-31 | 2023-12-01 | 罗普特科技集团股份有限公司 | 一种用于地面监控摄像机多维角度计算的方法和装置 |
-
2023
- 2023-07-14 CN CN202310868026.7A patent/CN116862997A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152257A (zh) * | 2023-10-31 | 2023-12-01 | 罗普特科技集团股份有限公司 | 一种用于地面监控摄像机多维角度计算的方法和装置 |
CN117152257B (zh) * | 2023-10-31 | 2024-02-27 | 罗普特科技集团股份有限公司 | 一种用于地面监控摄像机多维角度计算的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111473739B (zh) | 一种基于视频监控的隧道塌方区围岩变形实时监测方法 | |
Zhang et al. | A UAV-based panoramic oblique photogrammetry (POP) approach using spherical projection | |
CN106228538B (zh) | 基于logo的双目视觉室内定位方法 | |
WO2018077071A1 (zh) | 一种全景图像的生成方法及装置 | |
CA3103844A1 (en) | Method for reconstructing three-dimensional space scene based on photographing | |
CN110009561A (zh) | 一种监控视频目标映射到三维地理场景模型的方法及系统 | |
CN103226838A (zh) | 地理场景中移动监控目标的实时空间定位方法 | |
CN100417231C (zh) | 立体视觉半实物仿真系统及方法 | |
CN103533235B (zh) | 面向重大案事件现场的快速的基于线阵ccd 的数字全景装置 | |
CN102096938A (zh) | 一种可量测全景图像的构建方法 | |
JP2010109783A (ja) | 電子カメラ | |
EP3175614A1 (en) | Virtual changes to a real object | |
CN110260857A (zh) | 视觉地图的校准方法、装置及存储介质 | |
CN105513063A (zh) | Veronese映射和棋盘格标定拋物折反射摄像机 | |
CN116862997A (zh) | 相机标定计算并验证的方法、装置、设备及存储介质 | |
CN113763478B (zh) | 无人车相机标定方法、装置、设备、存储介质及系统 | |
CN116109684B (zh) | 面向变电场站在线视频监测二三维数据映射方法及装置 | |
CN112912936A (zh) | 混合现实系统、程序、移动终端装置和方法 | |
CN116883610A (zh) | 基于车辆识别与轨迹映射的数字孪生路口构建方法和系统 | |
CN110807413B (zh) | 目标显示方法以及相关装置 | |
CN115830135A (zh) | 一种图像处理方法、装置及电子设备 | |
Abrams et al. | Webcams in context: Web interfaces to create live 3D environments | |
CN116778094A (zh) | 一种基于优选视角拍摄的建筑物变形监测方法及装置 | |
CN106846472B (zh) | 一种基于全景地图生成影像地图的方法及装置 | |
Al-Zahrani et al. | Applications of a direct algorithm for the rectification of uncalibrated images |
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 |