一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

定位方法、电子设备与定位系统与流程

2021-12-17 19:57:00 来源:中国专利 TAG:


1.本公开实施例涉及通信技术领域与计算机视觉技术领域,尤其涉及一种定位方法、电子设备与定位系统。


背景技术:

2.交通事件的准确定位有助于车主实时掌握道路情况,针对突发事件及时做出安全决策,预防潜在的安全威胁,同时,有助于相关部门和道路运营方及时反应。通过摄像机识别交通事件并对其进行定位,是一种有效的解决方案。
3.单个摄像机的道路定位方案,是基于摄像机的单应性矩阵来实现的,其中,摄像机的单应性矩阵用于表征摄像机的像素坐标系与世界坐标系之间的映射关系。但是,单个摄像机能够关注的道路长度约为一百米左右,因此,为了实现高速公路的交通事件识别功能,一般在高速公路旁布置大量摄像机。这就需要对高速公路旁数以万计的摄像机的单应性矩阵进行标定。
4.但是,逐一对各个摄像机分别进行单应性矩阵的标定,工作量巨大,且需要耗费大量的时间和人力物力,这也给基于摄像机实现的定位工作造成较大难度。


技术实现要素:

5.本公开实施例提供一种定位方法、电子设备与定位系统,用以实现对批量摄像机的单应性矩阵标定任务,降低摄像机标定时间与工作量,降低基于摄像机的定位成本。
6.第一方面,本公开提供一种定位方法,应用于包括第一摄像机与第二摄像机的定位系统,所述第一摄像机与所述第二摄像机的内参相同;所述方法包括:接收来自于第一摄像机的第一图像,所述第一图像包括第一基准点与多个第一标定点;接收来自于第二摄像机的第二图像,所述第二图像包括第二基准点与多个第二标定点;所述第一基准点在所述第一图像中的像素坐标,与第二基准点在所述第二图像中的像素坐标相同;并且,所述第一基准点相对于所述第一摄像机的相对位置,与所述第二基准点相对于所述第二摄像机的相对位置相同;根据所述第一摄像机的姿态参数、所述第二摄像机的姿态参数、所述第一基准点的像素坐标与世界坐标、所述第二标定点的世界坐标,确定所述第二标定点在所述第二图像中的像素坐标;所述多个第一标定点与所述多个第二标定点一一对应;在存在对应关系的一个所述第一标定点与一个所述第二标定点中,所述第一标定点相对于所述第一摄像机的相对位置,与所述第二标定点相对于所述第二摄像机的相对位置相同;根据多个所述第二标定点的像素坐标与世界坐标,确定所述第二摄像机的单应性矩阵;所述单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系;当接收到来自于所述第二摄像机的第三图像时,利用所述第二摄像机的单应性矩阵,确定所述第三图像中目标对象的第一世界坐标。
7.在第一方面的一种实施例中,所述确定所述第二标定点在所述第二图像中的像素坐标,包括:根据所述第一摄像机的姿态参数、所述第二摄像机的姿态参数与所述第一基准
点的世界坐标,确定所述第二摄像机的俯仰角;根据所述第一图像中所述第一标定点的世界坐标,确定所述第一标定点对应的所述第二标定点的世界坐标;根据所述第一摄像机的姿态参数、所述第二摄像机的姿态参数、所述第二摄像机的俯仰角、所述第二标定点的世界坐标,确定所述第二标定点在所述第二图像中的像素坐标。
8.在第一方面的一种实施例中,所述根据所述第一图像中所述第一标定点的世界坐标,确定所述第一标定点对应的所述第二标定点的世界坐标,包括:基于所述第一标定点相对于所述第一摄像机的相对位置、所述第一摄像机在第一世界坐标系中的世界坐标与所述第二摄像机在第二世界坐标系中的世界坐标,确定所述第一标定点对应的所述第二标定点的世界坐标;所述第一世界坐标系与所述第二世界坐标系相同或不同。
9.在第一方面的一种实施例中,所述确定所述第二标定点在所述第二图像中的像素坐标,包括:利用三角函数处理第一三角形,得到所述第二标定点在所述第二图像中的像素纵坐标;其中,所述第一三角形由所述第二摄像机的光心、所述第二图像的中心点、第一参考点确定,所述第一参考点的像素纵坐标与所述第二标定点的像素纵坐标相同,所述第一参考点的像素横坐标与所述第二图像中心点的像素横坐标相同。
10.在第一方面的一种实施例中,所述利用三角函数处理第一三角形,得到所述第二标定点在所述第二图像中的像素纵坐标,包括:根据所述第二标定点的世界坐标、所第二摄像机的高度与俯仰角,确定所述第一三角形的第一夹角,所述第一夹角为所述第二摄像机的光轴与第一直线之间的夹角,所述第一直线由所述第一参考点与所述第二摄像机的光心确定;基于所述第一三角形的第一边、第二边与所述第一夹角之间满足的三角函数关系,确定所述第二标定点在所述第二图像中的像素坐标;其中,所述第一边为所述第二图像的中心点与所述第一参考点之间的边,所述第二边为所述第二图像的中心点与所述光心之间的边,所述第二边与所述第二摄像机的内参相关,所述第一边垂直于所述第二边。
11.在第一方面的一种实施例中,所述第二标定点在所述第二图像中的像素纵坐标满足如下公式:
[0012][0013]
或者,
[0014][0015]
其中,v
2i
表示第i个第二标定点在第二图像上的像素纵坐标;f表示第二摄像机的焦距;dy表示单位尺寸像素数目;α2表示第二摄像机的俯仰角;h2表示第二摄像机的高度;x
2i
标识第i个第二标定点在第二世界坐标系中的世界横坐标;v
10
表示第一基准点的像素纵坐标;c
y
表示第一图像的中心点的像素纵坐标;α1表示第一摄像机的俯仰角;h1表示第一摄像机的高度;x
10
=x
20
,其中,x
10
表示第一基准点在第一世界坐标系中的世界横坐标,x
20
表示第二基准点在第二世界坐标系中的世界横坐标。
[0016]
在第一方面的一种实施例中,当所述第二标定点位于所述第二摄像机的光轴的地面投影线上时,所述第二标定点在所述第二图像中的像素位置与所述第一参考点的像素位置相同。
[0017]
在第一方面的一种实施例中,当所述第二标定点位于所述第二摄像机的光轴的地
面投影线之外时,所述确定所述第二标定点在所述第二图像中的像素坐标,还包括:利用三角形相似定理处理第二三角形与第三三角形,得到所述第二标定点在所述第二图像中的像素横坐标;其中,所述第二三角形由所述第二摄像机的光心、所述第二标定点、第二参考点构成;所述第三三角形由所述第二摄像机的光心、所述第二标定点在所述第二图像中的像素位置、所述第一参考点构成;所述第二参考点位于所述第二世界坐标系,且在所述第二世界坐标系中,所述第二参考点的横轴分量与所述第二标定点的横轴分量相同,所述第二参考点的纵轴分量为零。
[0018]
在第一方面的一种实施例中,所述第二三角形与所述第三三角形相似,其中,第一比例等于第二比例;所述第一比例为所述第二三角形中的第三边与所述第三三角形中的第四边之间的比例;第三边为所述第二摄像机的光心与所述第二参考点之间的边,第四边为所述第二摄像机的光心与所述第一参考点之间的边;所述第二比例为所述第二三角形中的第五边与所述第三三角形中的第六边之间的比例;第五边为所述第二摄像机的光心与所述第二标定点之间的边,第六边为所述第二摄像机的光心与所述第二标定点在所述第二图像中的像素位置之间的边。
[0019]
在第一方面的一种实施例中,所述第二标定点在所述第二图像中的像素横坐标满足如下公式:
[0020][0021]
其中,u
2i
表示第i个第二标定点在第二图像上的像素纵坐标;l1表示第一参考点与所述第二标定点之间的距离;f表示第二摄像机的焦距;h2表示第二摄像机的高度;x
2i
表示第i个第二标定点在第二世界坐标系中的世界横坐标;c
x
表示第二图像中心点的像素横坐标;γ2i表示第一夹角,为所述第二摄像机的光轴与第一直线之间的夹角,其中,α1表示第一摄像机的俯仰角;h1表示第一摄像机的高度;x
10
=x
20
,其中,x
10
表示第一基准点在第一世界坐标系的世界横坐标,x
20
表示第二基准点在第二世界坐标系的世界横坐标。
[0022]
第二方面,本公开提供一种定位方法,该方法包括:接收第二摄像机采集到的第三图像,所述第三图像中包含目标对象;获取所述目标对象在所述第三图像中的第一像素坐标;利用所述第二摄像机的单应性矩阵处理所述第一像素坐标,得到所述目标对象的第一世界坐标;其中,所述单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系;所述单应性矩阵是基于多个第二标定点的像素坐标与世界坐标确定的,所述第二标定点的像素坐标是基于第一摄像机的姿态参数、所述第二摄像机的姿态参数、第一基准点的像素坐标与世界坐标、所述第二标定点的世界坐标确定的;其中,所述第一摄像机与所述第二摄像机的内参相同;第一图像来自于所述第一摄像机,所述第一图像中包括第一基准点与多个第一标定点;第二图像来自于所述第二摄像机,所述第二图像包括第二基准点与多个第二标定点;所述第一基准点在所述第一图像中的像素坐标,与第二基准点在所述第二图像中的像素坐标相同;并且,所述第一基准点相对于所述第一摄像机的相对位置,与所述第二基准点相对于所述第二摄像机的相对位置相同;所述多个第一标定点与所述多个第
二标定点一一对应;在存在对应关系的一个所述第一标定点与一个所述第二标定点中,所述第一标定点相对于所述第一摄像机的相对位置,与所述第二标定点相对于所述第二摄像机的相对位置相同。
[0023]
在第二方面的一种实施例中,所述方法还包括:调整所述第一摄像机的姿态;和/或,调整所述第二摄像机的姿态;以使得所述第一基准点在所述第一图像中的像素坐标,与第二基准点在所述第二图像中的像素坐标相同。
[0024]
在第二方面的一种实施例中,所述方法还包括:获取所述目标对象的第二世界坐标;当所述第一世界坐标与所述第二世界坐标之间的误差大于预设阈值时,校正所述第二摄像机的单应性矩阵。
[0025]
在第二方面的一种实施例中,所述方法还包括:接收第一消息,所述第一消息用于实现对摄像机的位姿配置;基于所述第一消息,确定所述第一摄像机和/或所述第二摄像机的姿态参数。
[0026]
在第二方面的一种实施例中,所述方法还包括:接收第二消息,所述第二消息指示获取一个或多个所述第二摄像机的单应性矩阵;当所述第二消息所指示的第二摄像机满足预设的标定条件时,确定所述第二摄像机的单应性矩阵。
[0027]
第三方面,本公开提供一种定位设备,包括至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面或第二方面任意一种实施例所述的方法。
[0028]
第四方面,本公开提供一种定位系统,包括:第一电子设备,用于执行如第一方面或第二方面任意一种实施例所述的方法;摄像机,用于采集图像,所述摄像机包括第一摄像机与一个或多个第二摄像机。
[0029]
在第四方面的一种实施例中,所述定位系统还包括:第二电子设备,用于接收来自于用户的指令信息,并向所述第一电子设备发送所述指令信息;所述第一电子设备,还用于执行所述指令信息所指示的动作;其中,所述第一电子设备与所述第二电子设备集成设置或分开设置。
[0030]
在第四方面的一种实施例中,所述定位系统为车联万物v2x系统。
[0031]
在一种可能的设计中,第三方面至第四方面中所涉及到的电子设备(第一电子设备或第二电子设备)可以为第二摄像机(中的处理器)、终端、服务器(或其中的节点)、车辆处理器等。
[0032]
第五方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面或第二方面中任一种实施例所述的定位方法。
[0033]
第六方面,本技术提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面或第二方面中任意一种实施例所述的方法。
[0034]
在一种可能的设计中,第六方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
[0035]
综上,本公开提供了一种定位方法、电子设备与定位系统,在利用多个摄像机实现交通事件的定位场景中,多个摄像机的内参相同,且多个摄像机中至少包含已经标定了单应性矩阵的第一摄像机,那么,针对其他未标定单应性矩阵的第二摄像机,基于一对相对于
摄像机的相对位置关系相同的基准点的像素坐标相同时,第一摄像机与第二摄像机的姿态相同,此时,可以基于第一摄像机与第二摄像机中具备相同相对位置关系的多个成对的第一标定点与第二标定点,获取到第二摄像机中多个第二标定点的像素坐标,进而,可以基于第二标定点的像素坐标与世界坐标,可以获取到第二摄像机的单应性矩阵。由此,只需要基于一个已经标定了单应性矩阵的第一摄像机,即可实现对未标定单应性矩阵的多个第二摄像机的标定,也即,本公开能够实现批量摄像机的单应性矩阵标定任务,降低了摄像机标定时间与工作量,进而,也有利于降低基于摄像机的定位成本。
附图说明
[0036]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0037]
图1为本公开实施例提供的一种定位场景的示意图;
[0038]
图2为图1所示定位场景的侧视图;
[0039]
图3为本公开实施例提供的一种像素坐标系的示意图;
[0040]
图4为本公开实施例提供的一种世界坐标系的示意图;
[0041]
图5为本公开实施例所提供的一种定位系统的架构示意图;
[0042]
图6为本公开实施例所提供的一种定位方法的流程示意图;
[0043]
图7为本公开实施例所提供的一种摄像机姿态调整示意图;
[0044]
图8为本公开实施例所提供的一种获取第二摄像机的俯仰角的实现原理的示意图;
[0045]
图9为本公开实施例所提供的一种标定原理示意图;
[0046]
图10为本公开实施例所提供的另一种标定原理示意图;
[0047]
图11为本公开实施例所提供的另一种定位方法的流程示意图;
[0048]
图12为本公开实施例所提供的另一种定位系统的架构示意图;
[0049]
图13为本公开实施例所提供的一种电子设备的功能方块图;
[0050]
图14为本公开实施例所提供的另一种电子设备的功能方块图;
[0051]
图15为本公开实施例所提供的一种电子设备的实体结构示意图。
具体实施方式
[0052]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0053]
本公开实施例所提供的定位方案适用于包含多个摄像机的定位系统,每个摄像机都可以采集图像,并对图像中的目标对象进行定位的场景。
[0054]
其中,摄像机又可称为摄像装置,其具体表现可以为摄像头、录像机等具备图像采集功能的设备,本公开对其类型及采集精度无特别限制。
[0055]
示例性的,可以参考图1,图1为本公开实施例提供的一种定位场景的示意图。如图1所示,道路上部署有多个摄像机110,图1示例性的示出了摄像机111、摄像机112与摄像机113。道路可供车辆120行驶,由此,在车辆120的行驶过程中,摄像机110可以采集到车辆120的图像,并基于采集到的图像对车辆120进行定位。后续具体说明基于摄像机110的定位方法。
[0056]
单个摄像机的有效探测距离约为100米左右,为了实现对道路上交通事件的识别功能,需要布置大量的摄像机,而摄像机的定位能力也直接决定了识别交通事件的有效性和准确性。由此,在前述场景中,多个摄像机110一般连续部署在道路的同一侧。
[0057]
此时,可以参考图2,图2示出了图1所示定位场景的侧视图,如图2所示,多个摄像机110可以呈直线式队列部署,相邻的任意两个摄像机110之间的距离可以相等。例如,图2中摄像机111与摄像机112之间的距离,摄像机112与摄像机113之间的距离相等。
[0058]
如图1、图2所示,摄像机一般通过基座130部署在道路上。本技术实施例对于基座130的材质、形状、基座130与摄像机110之间的连接方式等无特别限制。例如,基座130可以为金属杆底座,又例如,基座130可以由水泥柱与合金固定装置构成,不作穷举。
[0059]
在如图1或图2所示的定位场景中,若要通过摄像机实现交通事件的定位,就需要获取摄像机所拍摄的图像的像素坐标系与世界坐标系之间的关联关系。如此,当摄像机采集到图像后,就可以基于图像中对象所在的像素坐标,以及,像素坐标系与世界坐标系之间的关联关系,确定图像中对象的世界坐标。
[0060]
摄像机中像素坐标系与世界坐标系之间的关联关系,可以通过单应性矩阵进行表征。也即,摄像机的单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系。具体定位方式后续详述。
[0061]
像素坐标系用于描述对象在图像中的位置。具体而言,像素坐标系为一种平面坐标系,在实际应用场景中,像素坐标系可以有多种定义方式。
[0062]
示例性的,图3示出了本公开实施例提供的一种像素坐标系的示意图。就图3所示的图像(此处对图像内容不作限定)而言,该图像平面的左上角可以作为像素坐标系的原点o
p
,而像素坐标系中的两个坐标轴表示为:o
p
u轴和o
p
v轴,其中,o
p
u轴指向右方,而o
p
v轴则指向下方。如此,在该像素坐标系中,可以利用像素坐标(u,v)来描述对象在像素坐标系中的像素位置。
[0063]
除此之外,像素坐标系也可以有其他定义方式。示例性的,可以将图像的右上角作为像素坐标系的原点,两个坐标轴分别指向左方和下方。示例性的,可以将图像中心点作为像素坐标系的原点,两个坐标轴分别指向右方和上方。不作穷举。
[0064]
世界坐标系用于描述对象在实际三维空间中的位置。本公开实施例用于实现对交通事件在二维平面内的定位,这里对世界坐标系中除横轴、纵轴之外的第三条坐标轴不予讨论。这种情况下,世界坐标系可视作二维直角坐标系。具体的,世界坐标系一般为三维坐标系,在本公开实施例所涉及到的定位场景中,可以通过二维的世界坐标(x
w
,y
w
)来描述对象在空间中的实际位置。其中,w表示世界(world)。世界坐标系也可以有不同的定义方式。
[0065]
示例性的,可以将经度、纬度分别作为世界坐标系的横纵坐标,构建世界坐标系。这种世界坐标系可以视作绝对世界坐标系,对象的经纬度即为对象的世界坐标。
[0066]
示例性的,还可以构建摄像机相关相对世界坐标系。可以理解,一个固定位置的对
象,在不同摄像机的相对世界坐标系中的世界坐标不同。
[0067]
例如,一种可能的实施例中,可以将摄像机所处位置的地面投影为世界坐标系的中心点,正北(或正南)方向为纵轴方向,正东(或正西)方向为横轴方向,构建相对于摄像机的相对世界坐标系。
[0068]
另一种可能的实施例中,还可以将摄像机所在基座与地面的交接点为相对世界坐标系的原点,相互垂直的两条直线(对方向无特别限制)所指示的方向分别为横纵轴,构建相对于摄像机的相对世界坐标系。
[0069]
为便于理解,图4以两个摄像机的相对世界坐标系为例,示出了本公开实施例提供的一种世界坐标系的示意图。图4具体示出了摄像机1的第一世界坐标系41与摄像机2的第二世界坐标系42的情况。其中,第一世界坐标系41的坐标原点(o1)为摄像机1的地面投影,第二世界坐标系42的坐标原点(o2)为摄像机2的地面投影,第一世界坐标系41的横轴与第二世界坐标系42的横轴平行,第一世界坐标系41的纵轴与第二世界坐标系42的纵轴平行。这种情况下,点a在第一世界坐标系41中的世界坐标,与点a在第二世界坐标系42中的世界坐标不同。
[0070]
在前述多摄像机定位场景中,基于摄像机设置的位置、姿态、摄像机内参的不同,各摄像机的单应性矩阵一般不同。举例来说,摄像机a与摄像机b的内参相同,但姿态不同,这种情况下,即使摄像机a与摄像机b设置在相同的位置,分别采集同一个固定位置的目标对象的图像,该目标对象在图像a(来自于摄像机a)与图像b(来自于摄像机b)中的像素位置也不同。
[0071]
那么,在多摄像机定位场景中,就需要对每个摄像机的单应性矩阵进行标定。目前,一般是针对单个摄像机实现单应性矩阵标定的,常用的方法有如下两种:
[0072]
第一种,通过摄像机的内外参求解单应性矩阵。其中,涉及到的内外参可以包括但不限于:摄像机的位置(世界坐标)、姿态、像素尺寸、焦距等。在这种计算方式中,需要借助像素坐标系、图像物理坐标系、摄像机坐标系和世界坐标系之间的关系,来最终获取摄像机的单应性矩阵。在此不做详述。
[0073]
第二种,借助人工标定获取单应性矩阵。如前,在摄像头的图像采集范围内,标定人员可以在道路中选取多个固定位置,例如,车道线顶点、斑马线角点、道路两侧标志牌等,然后人工测量这些固定位置的世界坐标,从而,结合这些固定位置在摄像头所采集图像中的像素坐标,计算得到摄像头的单应性矩阵。进一步的,还可以由此反向计算得出摄像机的内外参。
[0074]
相较于前述第一种方式,第二种方式有利于提高定位精度,但人力消耗极大,且还需要封路作业。若按照这种方式对多个摄像机的单应性矩阵分别进行标定,则需要长时间封路作业,标定工作量巨大,人力、物力的资源浪费巨大,这也给基于摄像机实现的定位工作造成较大难度。
[0075]
那么,在多摄像机定位场景中,若采用前述第一种方式进行标定,则需要分别采集每个摄像机的内外参数,并基于采集到的数据进行多次计算,数据采集过程繁琐,且计算量巨大;若采用前述第二种方式进行标定,则需要长时间封路作业,且消耗大量人力物力,难以适应高速公路等多摄像机定位场景的定位需求。
[0076]
针对这种情况,本公开实施例提供一种定位方法与定位系统。下面将结合附图,对
本技术的实施例进行描述。
[0077]
首先,介绍本公开实施例所提供的定位系统。示例性的,可以参考图5所示的系统架构示意图。如图5所示,该定位系统500包括:电子设备510与摄像机520,其中,摄像机520的数目为多个,图5共示出了n个摄像机520,n为大于1的整数。摄像机520用于采集图像,具体可以包括但不限于:视频图像和/或照片。
[0078]
如前,摄像机的姿态受到摄像机的内参与外参的双重影响。摄像机的内参可以包括但不限于:焦距、单位尺寸像素数、图像中心点的像素坐标(像素坐标系的定义相同)。而摄像机的外参可以包括但不限于:摄像机的俯仰角、高度、位置等。摄像机的内外参并不局限前述内容,例如,摄像机的内参还可以包括摄像机的姿态角,姿态角可以包括:侧偏角、俯仰角与滚转角。
[0079]
当摄像机内参与外参完全相同时,摄像机的姿态也相同。若单应性矩阵用于表征像素坐标系与相对世界坐标系之间的映射关系,则姿态相同的两个摄像机的单应性矩阵理论上也完全相同。但实际场景中,部署多个摄像机时,由于摄像机的俯仰角、安装高度、安装位置等方面的差异,导致摄像机的单应性矩阵由于其姿态差异而存在差别。
[0080]
本公开实施例所提供的定位系统500中,多个摄像机520的内参完全相同。在此前提下,只需要对其中的一个摄像机的单应性进行标定,或只要其中一个摄像机的单应性矩阵已经标定得到,就可以基于已标定的摄像机的单应性矩阵,实现对其他摄像机的单应性矩阵的迁移计算,便捷获取到其他摄像机的单应性矩阵,以降低多摄像机标定过程的人力物力消耗,降低定位成本。后续详述。
[0081]
在如图5所示的定位系统500中,摄像机520可以与电子设备510通过有线或无线的方式进行通信。无线通信方式可以具体包括但不限于2g/3g/4g/5g等无线通信方案。基于电子设备510不同,通信方式也可以有不同设计,后续详述。
[0082]
基于二者之间的通信关系,任意一个摄像机520都可以向电子设备510发送采集到的图像。其中,摄像机520可以主动向电子设备发送图像,例如,周期性发送图像,又例如,建立通信连接后发送图像;或者,摄像机520也可以响应于接收到的来自于该电子设备的请求,向该电子设备发送图像。本公开实施例对此不作限制。
[0083]
相对应的,电子设备520可以接收来自于摄像机520的图像,并给予接收到的图像实现标定功能和定位功能。示例性的,图5示出了电子设备510的两个处理模块:标定模块511与定位模块512,其中,标定模块511用于根据接收到的图像,标定(或获取)各摄像机520的单应性矩阵,而定位模块512则用于根据接收到的图像,对图像中的目标对象进行定位。后续具体说明这两个模块的具体实现方式。可以理解,图5所示的模块划分方式实质为一种功能划分,实际实现场景中,标定模块511与定位模块512可以分开设置,也可以集成在同一个处理器(或处理模块)中。
[0084]
在图5所示的定位系统500中,电子设备510又可以成为第一电子设备,用于执行本公开实施例所提供的定位方法,后续详述。
[0085]
示例性的,电子设备510可以具体为一个摄像机520中的处理器或处理芯片,也即,电子设备510具体为一个摄像机520。此时,该电子设备510可以与自身所属摄像机520之外的其他摄像机520,通过有线方式通信。除此之外,针对在无线通信方式所覆盖范围内的其他摄像机520,也可以采取无线通信方式通信。例如,在电子设备510所处的wifi覆盖范围
内,电子设备510可以通过wifi与该覆盖范围内的所有摄像机520通过wifi进行通信;针对该wifi覆盖范围之外的其他摄像机520,也可以通过中间摄像机520转发的方式,实现间接无线通信。
[0086]
示例性的,电子设备510可以具体为与摄像机520存在通信联系的任意一种电子设备510,或电子设备510中的处理器。如此,基于二者的通信连接,摄像机520可以向该电子设备510发送采集到的图像,进而,电子设备510可以基于接收到的图像来对图像中的目标对象进行定位。
[0087]
本公开实施例中,该电子设备510(定位方法的执行主体)可以具体为车辆、无人机、网络设备(例如服务器)、终端中的一种或多种。
[0088]
其中,终端又称之为用户设备(user equipment,ue),是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。常见的终端例如包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备,例如智能手表、智能手环、计步器等。
[0089]
网络设备可以是网络侧设备,例如,无线保真(wireless-fidelity,wifi)的接入点ap、下一代通信的基站,如5g nr基站,如:5g gnb或小站、微站,传输接收点(transmission reception point,trp),还可以是中继站、接入点、车载设备、可穿戴设备等。在本实施例中,不同通信制式的通信系统中的基站不同。为了区别起见,将4g通信系统的基站称为lte enb,5g通信系统的基站称为nr gnb,既支持4g通信系统又支持5g通信系统的基站称为elte enb,这些名称仅为了方便区别,并不具有限制意义。
[0090]
以图1所示场景为例,在该场景中,图5所示的定位系统500中的电子设备510可以具体图1中的车辆120,车辆120可以与多个摄像机110通信,执行本公开实施例所提供的定位方法。例如,车辆120可以基于来自于摄像机110的图像,定位自身位置;又例如,车辆120也可以基于来自于摄像机110的图像,定位图像中车辆前方出现的交通事故现场的位置。
[0091]
在图1的一种可能的实施例中,图1所示的场景中还可以包括:坐在车辆120中的乘客携带的终端(例如手机)、空中执行飞行任务的无人机、其他网络设备中的一种或多种,此时,车辆120还可以与终端、无人机、网络设备中的一种或多种建立通信连接,构成一种车联万物(vehicle to everything,v2x)系统。
[0092]
其次,介绍电子设备510侧所执行的定位方法。
[0093]
为便于说明,以下,将已经标定出单应性矩阵的摄像机记作第一摄像机,将单应性矩阵未知的摄像机记作第二摄像机。可以理解,在多摄像机场景中,第一摄像机的数目可以为至少一个,第二摄像机的数目也可以为至少一个,本公开实施例对此无特别限制。例如,在图1所示的多摄像机定位场景中,摄像机111可以为第一摄像机,摄像机112与摄像机113则作为第二摄像机,可以按照本公开实施例来标定摄像机112与摄像机113的单应性矩阵,进而,当摄像机111~摄像机113中任意一个采集到图像时,都可以对图像中对象进行定位。
[0094]
本公开实施例对于第一摄像机的单应性矩阵的来源方式无特别限制。
[0095]
示例性的一种实施例中,第一摄像机的单应性矩阵可以是用户(例如维护人员)提前输入的。
[0096]
示例性的另一种实施例中,第一摄像机的单应性矩阵可以是提前标定获取到的。
[0097]
例如,可以采用现有技术中的前述方法,通过采集预设标定点的世界坐标与其在
图像中的像素坐标,然后计算二者之间的映射关系,得到第一摄像机的单应性矩阵。
[0098]
又例如,还可以借助可移动的标定设备来动态确定标定点,并通过搭载于标定设备中的定位设备来实现对标定点的定位,如此,可以基于第一摄像机采集到的图像获取到标定点的像素坐标,基于定位设备获取到标定点的世界坐标,由此,可以计算得到第一摄像机的单应性矩阵。其中,可移动的标定设备可以为车辆车辆、无人机或者地面机器人;其上搭载的定位设备可以包括但不限于:实时动态(rtk)定位标签、超宽带(uwb)定位标签或者全球定位系统(gps)接收器中的一种或多种,另,定位设备的数目可以为一个或多个。如此,可以在标定设备的移动过程中,动态确定标定点,无需封路作业,即可实现对单应性矩阵的自动标定,并且,这也避免了人工测量对标定精度、定位精度的不良影响,有利于提高定位精度。
[0099]
在第一摄像机的单应性矩阵已知的前提下,当电子设备接收到来自于第一摄像机的图像时,可以利用第一摄像机的单应性矩阵来对图像中的对象进行定位。
[0100]
另一方面,电子设备还可以接收来自于第二摄像机的图像,此时,可以通过如图6所示的方式,基于第二摄像机实现交通事件的定位。如图6所示,该定位方法可以包括如下步骤:
[0101]
s602,接收来自于第一摄像机的第一图像,第一图像包括第一基准点与多个第一标定点。
[0102]
s604,接收来自于第二摄像机的第二图像,第二图像包括第二基准点与多个第二标定点。
[0103]
s606,根据第一摄像机的姿态参数、第二摄像机的姿态参数、第一基准点的像素坐标与世界坐标、第二标定点的世界坐标,确定第二标定点在第二图像中的像素坐标。
[0104]
s608,根据多个第二标定点的像素坐标与世界坐标,确定第二摄像机的单应性矩阵,单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系。
[0105]
s610,当接收到来自于第二摄像机的第三图像时,利用第二摄像机的单应性矩阵,确定第三图像中目标对象的第一世界坐标。
[0106]
第一世界坐标也可以称为目标世界坐标。
[0107]
在图6所示的定位方法中,s602~s608可视作对第二摄像机的单应性矩阵的标定过程,s610则可视作在标定出第二摄像机的单应性矩阵后,对后续采集到的图像中对象进行定位的场景。
[0108]
现对图6中涉及到的标定点与基准点做具体说明。
[0109]
一方面,基准点用于指示摄像机的姿态。在图6所示实施例中,满足如下基准点要求:第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同;并且,第一基准点相对于第一摄像机的相对位置,与第二基准点相对于第二摄像机的相对位置相同。
[0110]
举例说明。第一基准点在第一世界坐标系中的世界坐标可以为(a,b),第二基准点在第二世界坐标系中的世界坐标可以为(a,b),且第一世界坐标系是以第一摄像机的地面投影位置为原点构建的世界坐标系,第二世界坐标系是以第二摄像机的地面投影位置为原点构建的世界坐标系,且第一世界坐标系的坐标轴与第二世界坐标系的坐标轴平行。在这种情况下,第一基准点相对于第一摄像机的相对位置,与第二基准点相对于第二摄像机的
相对位置相同。除此之外,第一基准点落在第一摄像机采集图像的视野范围内,也即,第一摄像机采集到的第一图像中包含第一基准点,第一基准点在第一图像的像素坐标系中的像素坐标可以为(c1,d1)。类似的,第二基准点落在第二摄像机采集第二图像的视野范围内,也即,第二摄像机采集到的图像中包含第二基准点,第二基准点在第二图像的像素坐标系中的像素坐标为(c2,d2)。如前,第一摄像机所采集图像、第二摄像机所采集图像中的像素坐标系的定义方式相同,那么,若c1=c2,d1=d2,则第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同。
[0111]
当满足前述基准点条件时,第一摄像机与第二摄像机的姿态相同。如此,在后续基于标定点进行标定时,即可利用摄像机的姿态相同的特征来实现。后续具体说明。
[0112]
本公开实施例中,第一基准点与第二基准点的数目和位置都可以提前自定义预设,本公开实施例对此无特别限制。
[0113]
示例性的,第一图像中可以包括一个或多个第一基准点,第二图像中可以包括一个或多个第二基准点。实际场景中,若存在多个第一基准点与多个第二基准点,则第一基准点与第二基准点的数目相同且二者一一对应。如此,成对的一组第一基准点与第二基准点满足前述基准点条件(在各自所在图像中的像素位置相同,且相对于摄像机的相对位置相同)。
[0114]
示例性的,基准点可以为预设的地面标志物,地面标志物可以是场景中自带的标志物,也可以是用户自行设置并标记的标志物。
[0115]
一种可能的实施例中,第一基准点可以为第一摄像机的图像采集视野范围内另一个摄像机(为便于说明,记作第三摄像机)的基座与地面的交点,相应的,第二基准点为第二摄像机的图像采集视野范围内另一个摄像机(为便于说明,记作第四摄像机)的基座与地面的交点,其中,第三摄像机相对于第一摄像机的相对位置,与第四摄像机相对于第二摄像机的相对位置相同。
[0116]
在该实施例中,第三摄像机可以为第二摄像机,或者,第一摄像机可以为第四摄像机。例如,若摄像机1、摄像机2、摄像机3依次等距离的线状排列,且摄像机2的基座与地面的交点位于摄像机1的图像采集视野内,摄像机3的基座与地面的交点位于摄像机2的图像采集视野内。那么,假设摄像机1作为第一摄像机,其单应性矩阵已获得;而摄像机2与摄像机3可分别作为第二摄像机,执行本方案所示的定位方法。此时,对于摄像机2而言,摄像机2的基座与地面的交点可以作为摄像机1的第一基准点,而摄像机3的基座与地面的交点则可作为摄像机2的第二基准点。
[0117]
除摄像机基座与地面的交点之外,还可以通过场景中其他具备标识作用的对象作为基准点。例如,还可以将摄像机的图像采集视野内的车道线的端点作为基准点;又例如,还可以将摄像机的图像采集视野内的指示牌作为基准点。
[0118]
除前述场景中的固定位置的标志物之外,另一种可能的实施例中,第一基准点与第二基准点可以为可移动标志物所处的位置。可移动标志物可以为具备突出颜色或显示效果的可移动标志物,例如,点状光源、具备荧光显示效果的任意形状的标志物、具备指示作用的车辆等,不作穷举。用户可以控制这些可移动标志物自由移动,并选取合适的位置执行本方案。
[0119]
需要说明的是,第一基准点与第二基准点需要满足前述基准点要求,但二者可以
通过不同的对象进行指示。例如,第一基准点可以为第一摄像机的图像采集视野内的一个灯柱与地面的交点;而在第二摄像机的图像采集视野范围内无满足前述基准点要求的自然标志物,此时可以将具备突出颜色的点状标志物所在的位置预设为第二基准点。
[0120]
在前述任意一种实施例中,第一基准点与第二基准点在实际三维空间中,相对于各自关联的摄像机的相对位置要保持相同。这种情况下,若不满足前述基准点要求,则可以调整第一摄像机的姿态;和/或,调整第二摄像机的姿态;以使得第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同。
[0121]
具体实现场景中,调整摄像机(第一摄像机和/或第二摄像机)的姿态,可以包括但不限于:调整摄像机的姿态角。也即,调整侧偏角、俯仰角、滚转角中的一种或多种。
[0122]
具体调整时,可以第一摄像机与第二摄像机中的一个摄像机为参考,调整另一个摄像机的姿态。例如,保持第一摄像机的姿态不动,调整第二摄像机的姿态,以满足前述基准点条件。或者,也可以预设基准点的像素坐标,并调整第一摄像机与第二摄像机的姿态,以使得第一基准点与第二基准点的像素坐标都与预设基准点一致。
[0123]
示例性的,图7示出了一种摄像机姿态调整示意图。图7是以摄像机的图像采集视野中最近的一个摄像机基座与地面的交点的图像坐标为预设基准点,并预设了该预设基准点的像素坐标,记为a点。如此,就可以据此分别实现对摄像机的姿态调整。如图7a所示,将接收到的来自于该摄像机的图像中,最近的一个摄像机基座与地面的交点的实际图像坐标记为b点,此时,图7a不满足前述基准点条件,则对其进行调整,使得调整后的图7b中,a点与b点重合,满足基准点条件。
[0124]
另,前述调整过程可以自动实现,也可以通过输出提示信息以提示用户调整的方式实现。
[0125]
例如,一种可能的实施例中,在执行图6所示的定位方法之前,可以分别接收来自于第一摄像机与第二摄像机的图像数据,若第一基准点与第二基准点在各自图像中的像素坐标不同,则可以输出提示信息,该提示信息用以提示用户调整第一摄像机和/或第二摄像机的姿态。
[0126]
又例如,另一种可能的场景中,摄像机安装在电动云台上,并通过电动云台固定在基座上。这种情况下,可以通过电动云台自动调节摄像机的姿态,以使得调整后能够满足前述基准点条件。
[0127]
另一方面,标定点用于标定摄像机的单应性矩阵。第一图像中包含多个第一标定点,第二图像中包含多个第二标定点。多个第一标定点与多个第二标定点的数目相同且一一对应;在存在对应关系的一个第一标定点与一个第二标定点中,第一标定点相对于第一摄像机的相对位置,与第二标定点相对于第二摄像机的相对位置相同。
[0128]
区别于基准点,标定点的数目为多个,具体场景中,第一标定点与第二标定点的数目可以为至少4个,这与单应性矩阵的标定需求有关,后续具体说明。
[0129]
标定点也是提前预设的点。这点与基准点类似,可以通过图像采集范围内的固定位置的标志物或可移动标志物进行指示,不再重复。
[0130]
多个第一标定点(类似的,多个第二标定点)之间的位置关系,亦可自定义预设,本公开实施例对此无特别限制。例如,多个第一标定点可以呈矩形阵列式部署,又例如,多个第一标定点也可以呈圆形部署,又例如,多个第一标定点也可以不规则排布。
[0131]
如前,基准点与标定点可以为提前预设的点,二者可能存在重合的情况。示例性的一种实施例中,第一图像中可以包括一个第一基准点与n个第一标定点,其中,第一基准点与其中一个第一标定点(在第一摄像机的第一世界坐标系中)的世界坐标完全相同;相应的,第二图像中可以包括一个第二基准点与n个第二标定点,其中,第二基准点与其中一个第二标定点(在第二摄像机的第二世界坐标系中)的世界坐标完全相同;且,第一基准点与第二基准点的像素坐标相同。
[0132]
如前,摄像机的单应性矩阵用于表征像素坐标系与世界坐标系之间的映射关系,基于此,在获取第二摄像机的单应性矩阵之前,需要获取多个第二标定点的像素坐标与世界坐标。
[0133]
一方面,获取第二标定点的世界坐标。
[0134]
如前文,本公开实施例中,第二标定点的世界坐标,实际为第二标定点在第二世界坐标系中的世界坐标。第二世界坐标可以是绝对世界坐标,也可以是相对世界坐标。
[0135]
基于第一标定点相对于第一摄像机的相对位置,与第二标定点相对于第二摄像机的相对位置相同,因此,可以根据第一图像中第一标定点的世界坐标,确定第一标定点对应的第二标定点的世界坐标。
[0136]
具体而言,可以基于第一标定点相对于第一摄像机的相对位置、第一摄像机在第一世界坐标系中的世界坐标与第二摄像机在第二世界坐标系中的世界坐标,确定第一标定点对应的第二标定点的世界坐标。
[0137]
如前,第一世界坐标系与第二世界坐标系相同或不同,此时,包含如下两种情况:
[0138]
第一种,第一世界坐标系与第二世界坐标系相同,也即,二者为同一个世界坐标系。
[0139]
此时,在该第一世界坐标系中,第一摄像机的世界坐标、第二摄像机的世界坐标、第一标定点的世界坐标都已知,且第一标定点相对于第一摄像机的相对位置,与第二标定点相对于第二摄像机的相对位置相同,如此,可以基于该相对位置关系相等,计算出(与第一标定点对应的一个)第二标定点的世界坐标。
[0140]
例如,在第一世界坐标系中,第一摄像机的世界坐标为(x1,y1),第i个第一标定点的坐标为(x
1i
,y
1i
),第二摄像机的世界坐标为(x2,y2),将第i个第二标定点的世界坐标记为(x
2i
,y
2i
),则x
2i
满足:x
2i
=x
1i-x1 x2;y
2i
满足:y
2i
=y
1i-y1 y2,也即,第i个第二标定点的世界坐标可以记为:(x
1i-x1 x2,y
1i-y1 y2)。其中,i为大于0的整数。
[0141]
第二种,第一世界坐标系与第二世界坐标系不同。
[0142]
在该场景中,第一世界坐标系与第二世界坐标系的定义可以相同。
[0143]
示例性的一种实施例中,第一世界坐标系的原点为第一摄像机的地面投影,第二世界坐标系的原点为第二摄像机的地面投影;第一世界坐标系的横轴与第二世界坐标系的横轴平行,且第一世界坐标系的纵轴与第二世界坐标系的纵轴平行。
[0144]
示例性的另一种实施例中,第一世界坐标系的原点为第一摄像机所在基座与地面的交点,第二世界坐标系的原点为第二摄像机所在基座与地面的交点;第一世界坐标系的横轴与第二世界坐标系的横轴平行,且第一世界坐标系的纵轴与第二世界坐标系的纵轴平行。
[0145]
当第一世界坐标系与第二世界坐标系不同但定义相同时,对于对应的一对第一标
定点与第二标定点而言,第一标定点在第一世界坐标系中的世界坐标,与第二标定点在第二世界坐标系中的世界坐标相同。这种情况下,可以直接获取第一标定点在第一世界坐标系中的世界坐标,将其作为对应的第二标定点的世界坐标即可。这能够有效降低数据处理量,无需进行复杂的世界坐标转换,就可以便捷得到第二标定点的世界坐标,有利于提高标定效率与定位效率。
[0146]
另一方面,获取第二标定点的像素坐标。
[0147]
在获取第二标定点的像素坐标时,可以首先根据第一摄像机的姿态参数、第二摄像机的姿态参数与第一基准点的世界坐标,确定第二摄像机的俯仰角,从而,根据第一摄像机的姿态参数、第二摄像机的姿态参数、第二摄像机的俯仰角、第二标定点的世界坐标(获取方式可参照前文,这里不再重复),确定第二标定点在第二图像中的像素坐标。
[0148]
具体而言,图8为获取第二摄像机的俯仰角的实现原理的示意图。为简化说明,以每个摄像机分别构建世界坐标系,世界坐标系的原点为摄像机的光心在地面的投影点,横轴(也即x轴)为光轴所在的地面投影线,纵轴(即y轴)则在水平面内与横轴垂直。如此,第一摄像机的第一世界坐标系与第二摄像机的第二世界坐标系的原点不同,但坐标轴平行。同样的,为便于简化说明,将二者的x轴重合进行示例性说明,详情如图8所示。
[0149]
以及,为简化说明,假设第一基准点b1位于第一摄像机的光轴的地面投影线(或其延长线)上,第一基准点b1与第二基准点b2之间满足前述标定点条件,二者在各自的世界坐标系中的坐标相同,如此,第二基准点b2位于第二摄像机的光轴的地面投影线(或其延长线)上。此时,如图8所示,第一基准点b1与第二基准点b2均落在x轴上。如此,可将第一基准点在第一世界坐标系中的世界坐标记为(x
10
,0),第二基准点在第二世界坐标系中的世界坐标记为(x
20
,0),并且,x
10
=x
20

[0150]
基于摄像机的成像原理,光轴是通过摄像机镜头中心点(也即光心)的光束的中心线,如此,光轴实际垂直于摄像机形成的图像,且光轴与图像的交点为图像的中心点。如图8所示,第一摄像机的光轴为点o1、o1’、m1所在的直线,其中,点o1为第一摄像机的光心,点o1’为第一摄像机采集到的第一图像的中心点,点m1为光轴与x轴的交点,点o1’可视作点m1在第一图像中的像素位置。类似的,第二摄像机的光轴为点o2、o2’、m2所在的直线,其中,点o2为第二摄像机的光心,点o2’为第二摄像机采集到的第二图像的中心点,点m2为光轴与x轴的交点,点o2’可视作点m2在第二图像中的像素位置。
[0151]
如前,第一图像与第二图像的像素坐标系采取相同的定义。示例性的,在图8所示的场景中,以第一图像为例,像素坐标系的原点为第一图像的左上角位置,横轴(记为u轴)方向向右,纵轴(记为v轴)方向向下。第二图像的定义与之相同,不再重复。此时,第一图像的中心点o1’的像素坐标可以表示为(c
x1
,c
y1
),第二图像的中心点o1’的像素坐标可以表示为(c
x
,c
y
)。
[0152]
如图8所示,第一基准点b1在第一图像中的像素位置记为b1’,由于第一基准点b1与点m1都落在x轴上,则点b1’与点o1’的像素横坐标相同,为便于说明,将点b1’的像素坐标记作(c
x
,v
10
)。类似的,第二基准点b2在第二图像中的像素位置记为b2’,由于第二基准点b2与点m2都落在x轴上,则点b2’与点o2’的像素横坐标相同,为便于说明,将点b2’的像素坐标记作(c
x
,v
20
)。
[0153]
当满足前述标定点条件时,第一基准点b1的像素坐标(实际为点b1’的像素坐标)
与第二基准点b2的像素坐标(实际为点b2’的像素坐标)也相同。也即,v
20
=v
10

[0154]
基于标定点条件可知,图8中夹角γ1与夹角γ2相等。其中,夹角γ1为点b1、点b1’、点o1所在的直线与第一摄像机的光轴之间的夹角;夹角γ2为点b2、点b2’、点o2所在的直线与第二摄像机的光轴之间的夹角。
[0155]
夹角γ1与第一摄像机的俯仰角(图8中表示为夹角α1)、夹角β1相关,具体满足:γ1=α
1-β1。其中,夹角α1为第一摄像机的俯仰角,可以在第一摄像机的内参中获取得到;夹角β1则为点b1、点b1’、点o1所在的直线与x轴之间的夹角。
[0156]
如图8所示,夹角β1实际为点o1、点o10、点b1构成的三角形中的一个夹角,其中,点o10为第一世界坐标系的原点,也是点o1的地面投影点。换言之,点o1与点o10之间的边长实际为第一摄像机的高度(或称为:安装高度),后文通过h1表示第一摄像机的高度。则在点o1、点o10、点b1构成的三角形中,存在如下三角关系:tanβ1=h1/x
10
,如此,β1=arctan(h1/x
10
)。进而,γ1=α
1-arctan(h1/x
10
)。
[0157]
类似的,夹角β2实际为点o2、点o20、点b2构成的三角形中的一个夹角,其中,点o20为第二世界坐标系的原点,也是点o2的地面投影点。换言之,点o2与点o20之间的边长实际为第二摄像机的高度(或称为:安装高度),后文通过h2表示第二摄像机的高度。则在点o2、第二世界坐标系原点o20、点b2构成的三角形中,存在如下三角关系:tanβ2=h2/x
20
,如此,β2=arctan(h2/x
20
)。进而,γ2=α
2-arctan(h2/x
20
)。
[0158]
如前,γ1=γ2,如此,即可存在如下关系:α
1-arctan(h1/x
10
)=α
2-arctan(h2/x
20
)。进而,第二摄像机的俯仰角α2可以表示为:α2=α
1-arctan(h1/x
10
) arctan(h2/x
20
)。
[0159]
如此,可以基于第一摄像机的姿态参数(α1与h1)、第二摄像机的姿态参数(h2)与第一基准点的世界坐标(x
10
,且x
10
=x
20
),确定第二摄像机的俯仰角(α2)。
[0160]
此外需要说明的是,光心o2与第二图像中心点o2’之间的边长实际可以表示为第二摄像机的焦距f,将其转换为像素坐标系中的边长时,可以具体表示为:f/dy。其中,f表示第二摄像机的焦距;dy表示单位尺寸像素数目。在图8所示实施例中,该边长还可以通过三角函数计算得到。
[0161]
具体的在光心02、点o2’、点b2’构成的三角形中,满足如下三角函数关系:基于前述关系,进一步可以得到如下关系:
[0162][0163]
基于第一摄像机与第二摄像机的内参相同,且满足前述基准点条件,则γ1=γ2,则前述关系也可以表示为:
[0164][0165]
在确定出第二摄像机的俯仰角之后,即可根据第一摄像机的姿态参数、第二摄像机的姿态参数、第二摄像机的俯仰角、第二标定点的世界坐标,确定第二标定点在第二图像中的像素坐标。
[0166]
此时,可以参考图9所示的标定原理示意图。如图9所示的场景与图8相同,第一世
界坐标系、第二世界坐标系、像素坐标系以及各相同点的定义与图8相同,这里不再重复。
[0167]
如前,第二图像中可以包括多个第二标定点。为便于说明,以下,以点g
2i
表示第i个第二标定点,第i个第二标定点g
2i
在第二世界坐标系中的世界坐标可以表示为:g
2i
(x
2i
,y
2i
)。此时,第i个第二标定点g
2i
在第二图像中的像素记为点g
2i

,点g
2i

的像素坐标可以记作(u
2i
,v
2i
)。
[0168]
为简要说明,图9示出了第i个第二标定点位于第二摄像机的光轴的地面投影线(或其延长线)上的情况,也就是,第i个第二标定点g
2i
落在x轴上,此时,第i个第二标定点g
2i
的y轴分量为0,即y
2i
为0,这种情况下,第i个第二标定点g
2i
在第二世界坐标系中的世界坐标可以表示为:g
2i
(x
2i
,0)。这就导致第二标定点在第二图像中的像素位置(点g
2i

)的像素横坐标与第二图像的中心点(点o2’)的像素横坐标相同。也就是,点g
2i

的像素坐标可以记作(c
x
,v
2i
)。
[0169]
如图9所示,点g
2i

、点o2’、光心o2可以构成一个直角三角形。为便于说明,将该直角三角形简称为第一三角形,第一三角形中的第一边垂直于第二边。
[0170]
其中,第一边为第二图像的中心点o2’与点g
2i

之间的边,基于二者之间的像素坐标可知,第一边在像素坐标系中的边长为:v
2i-c
y

[0171]
第二边为第二摄像机的光心o2与第二图像的中心点o2’之间的边。如图9所示,第二边为第二摄像机的光轴,第二边的边长与摄像机的内参相关。具体而言,第二边的边长可以表示为第二摄像机的焦距(记作f)。为统一边长,将第二边的边长换算为像素坐标系中的长度:f/dy。其中,f表示第二摄像机的焦距;dy表示单位尺寸像素数目。
[0172]
此外,为便于说明,将点g
2i

与光心o2确定的直线简称为第一直线,如图9所示,第一直线还穿过第二标定点g
2i
。将第一直线与第二摄像机的光轴之间的夹角称为第一夹角,也即,图9所示的γ2i。
[0173]
如此,可以利用三角函数处理第一三角形,得到第二标定点在第二图像中的像素纵坐标。
[0174]
具体而言,可以根据第二标定点的世界坐标、所第二摄像机的高度与俯仰角,确定第一三角形的第一夹角。
[0175]
如图9所示,第一夹角γ2i与第二摄像机的俯仰角(α2)、第二夹角(β2i)之间满足:γ2i=α
2-β2i,而第二夹角β2i则可以在第二标定点g
2i
、光心o2、第二世界坐标系的原点o20构成的三角形中,通过三角函数获取得到:如此,第一夹角γ2i可以表示为:进一步的,基于前文图8所示的计算,带入α2可以得到:
[0176]
然后,基于第一三角形的第一边、第二边与第一夹角之间满足的三角函数关系,确定第二标定点在第二图像中的像素坐标。
[0177]
在图9所示实施例中,对于第i个第二标定点g
2i
第一夹角γ2i而言,第一边与第二边满足如下关系:
[0178][0179]
如此,经换算,第i个第二标定点g
2i
的像素纵坐标v
2i
满足如下任意一种公式:
[0180][0181]
或者,
[0182][0183]
或者,
[0184][0185]
除此之外,第二边的边长(f/dy)还可以有其他表示方式。例如,在前述图8所示实施例中,f/dy还可以表示为:那么,第i个第二标定点g
2i
的像素纵坐标v
2i
满足如下公式:
[0186][0187]
或者,
[0188][0189]
或者,
[0190][0191]
或者,
[0192][0193]
此处不再一一穷举。为避免歧义,此处重复一遍上述公式中各标识的含义。v
2i
表示第i个第二标定点在第二图像上的像素纵坐标;f表示第二摄像机的焦距;dy表示单位尺寸像素数目;α2表示第二摄像机的俯仰角;h2表示第二摄像机的高度;x
2i
标识第i个第二标定点在第二世界坐标系中的世界横坐标;v
10
表示第一基准点的像素纵坐标,v
20
表示第二基准点的像素纵坐标,v
10
=v
20
;c
y
表示第二图像(或第一图像)的中心点的像素纵坐标;α1表示第一摄像机的俯仰角;h1表示第一摄像机的高度;x
10
表示第一基准点在第一世界坐标系中的世界横坐标,x
20
表示第二基准点在第二世界坐标系中的世界横坐标,x
10
=x
20

[0194]
那么,在图9所示的实施例中,针对落在第二摄像机的光轴的地面投影线(或其延长线,也即x轴)上的第二标定点,可以通过前述方式确定第i个第二标定点在第二图像中的像素坐标为(c
x
,v
2i
),v
2i
的表达式如上,不再重复。
[0195]
但是在实际场景中,还会涉及到第二标定点落在第二摄像机的光轴的地面投影线(或其延长线,也即x轴)之外的情况。这种情况下,第i个第二标定点在第二图像中的像素坐标为(u
2i
,v
2i
)。
[0196]
示例性的,可以参考图10所示的场景。第二标定点g
2i
除具备x轴分量之外,还具备y轴分量。
[0197]
这种情况下,第二标定点g
2i
的像素纵坐标可以采取图9所示的方式计算得到。如图10所示,此时,可以借助第一参考点与第二参考点实现对v
2i
的计算。
[0198]
其中,第一参考点的像素纵坐标与第二标定点的像素纵坐标相同,第一参考点的像素横坐标与第二图像中心点的像素横坐标相同。如图10所示,第一参考点表示为p1,第一参考点p1在像素坐标系中的像素坐标可以表示为(c
x
,v
2i
)。
[0199]
第二参考点位于第二世界坐标系,且在第二世界坐标系中,第二参考点的横轴分量与第二标定点的横轴分量相同,第二参考点的纵轴分量为零。如图10所示,第二参考点表示为p2,第二参考点p2在第二世界坐标系中的像素坐标可以表示为(x
2i
,0)。
[0200]
基于此,并对比图9、图10可知,图10中的第一参考点p1相当于图9中的点g
2i

,而图10中的第二参考点p2相对于图9中的点g
2i
。换言之,图9相当于图10所示场景的一种特殊情况,也就是,当第二标定点位于第二摄像机的光轴的地面投影线上时,第二标定点g
2i
即为第二参考点p2,第二标定点g
2i
的像素位置g
2i

为第一参考点p1。
[0201]
在图10所示实施例中,计算第i个第二标定点在第二图像中的像素纵坐标时,可以基于第二摄像机的光心o2、第二图像的中心点o2’、第一参考点p1确定的第一三角形的三角函数关系来实现,第一三角形中的第一边为第二图像的中心点o2’与第一参考点p1之间的边。以及,第一夹角γ2i仍是第二摄像机的光轴与第一直线之间的夹角,此时,第一直线是由第一参考点与第二摄像机的光心确定的直线。
[0202]
综上,对于第二摄像机的图像采集视野内的任意一个第二标定点,无论其是否落在摄像机的光轴的地面投影线(或其延长线)上,该第二标定点的像素纵坐标都满足前述v
2i
的表达式,不再赘述。
[0203]
如图10所示,当第二标定点位于第二摄像机的光轴的地面投影线之外时,第二标定点的像素横坐标与第二图像中心点的像素横坐标不同,这种情况下,可以基于三角形相似定理,来确定第二标定点的像素横坐标。
[0204]
如图10所示,第二三角形与第三三角形满足三角形相似定理。其中,第二三角形为由第二摄像机的光心o2、第二标定点g
2i
、第二参考点p2构成;第三三角形由第二摄像机的光心o2、第二标定点在第二图像中的像素位置g
2i

、第一参考点p1构成。
[0205]
基于第二三角形与第三三角形相似,那么,第一比例等于第二比例。其中,第一比例为第二三角形中的第三边与第三三角形中的第四边之间的比例;第三边为第二摄像机的光心o2与第二参考点p2之间的边(可以记作o2p2),第四边为第二摄像机的光心o2与第一参考点p1之间的边(可以记作o2p1);
[0206]
第二比例为第二三角形中的第五边与第三三角形中的第六边之间的比例;第五边为第二参考点p2与第二标定点g
2i
之间的边(可以记作g
2i
p2),第六边为第一参考点p1与第二标定点在第二图像中的像素位置g
2i

之间的边(g

2i
p1)。
[0207]
那么,图10所示的第二标定点满足如下三角形相似关系:
[0208]
[0209]
在此基础上,基于图10可知,点g
2i
在第二世界坐标系中的世界坐标为(x
2i
,y
2i
),p2在第二世界坐标系中的世界坐标为(x
2i
,0),如此,g
2i
p2的距离为y
2i
。也即,g
2i
p2的距离实际为第二标定点在第二世界坐标系中的纵轴分量。基于第一摄像机与第二摄像机的内参相同,且成对的第一标定点与第二标定点相对于各自摄像机的相对位置相同,如此,g
2i
p2的距离可以通过第i个第一标定点在第一世界坐标系中的世界坐标计算得到。例如,当第一世界坐标系与第二世界坐标系满足前述图8所示的设定时,g
2i
p2的距离即为第一标定点在第一世界坐标系中的纵轴分量。后续为便于说明,以l1表示第一参考点与第二标定点之间的距离。
[0210]
点g
2i

在第二图像的像素坐标系中的像素坐标为(u
2i
,v
2i
),p1在第二图像的像素坐标系中的像素坐标为(c
x
,v
2i
),如此,g
2i
p1的距离实际为u
2i-c
x

[0211]
光心o2与第二参考点p2之间的距离(也即o2p2),可以通过第四三角形的勾股定理计算得到。其中,第四三角形由光心o2、第二参考点p2与第二世界坐标系的原点o20构成。如图10所示,边o2o20垂直于x轴,第四三角形为直角三角形,满足勾股定理:其中,o2o20的长度实际为第二摄像机的高度(h2),o2p2的长度为第二参考点p2的x轴分量,也即x
2i
。那么,
[0212]
光心o2与第一参考点p1之间的距离(也即o2p1),可以通过第五三角形的勾股定理计算得到。其中,第五三角形由光心o2、第一参考点p1与第二图像的中心点o2’构成。此时,如图10所示,边o2o2’为光轴,垂直第二图像,第五三角形为直角三角形,满足勾股定理:其中,o2o2’的长度实际为第二摄像机的焦距(f),o2’p1的长度则可以有多种表示方式。一种可能的实施例中,02’p1的长度为第二参考点p2的v轴分量与中心点o2’的v轴分量之差。另一种可能的实施例中,02’p1的长度可以通过前文第一夹角γ2i的tan三角函数来进行表示。此时,那么,o2

p1的长度可以表示为:f*tanγ2i。其中第一夹角γ2i的计算方式可参考前文,这里不再重复。如此,可以具体计算出
[0213]
那么,将各边长的表达式代入相似定理表达式后,可以得到如下关系:
[0214][0215]
其中,u
2i
表示第i个第二标定点在第二图像上的像素纵坐标;l1表示第一参考点与第二标定点之间的距离;f表示第二摄像机(或第一摄像机)的焦距;h2表示第二摄像机的高度;x
2i
表示第i个第二标定点在第二世界坐标系中的世界横坐标;c
x
表示第二图像中心点(或第一图像中心点)的像素横坐标;γ2i表示第一夹角,为第二摄像机的光轴与第一直线之间的夹角,其中,α1表示第一摄像机的俯
仰角;h1表示第一摄像机的高度;x
10
=x
20
,其中,x
10
表示第一基准点在第一世界坐标系的世界横坐标,x
20
表示第二基准点在第二世界坐标系的世界横坐标。
[0216]
综上,对于第二摄像机的图像采集视野内的第i个第二标定点,该第i个第二标定点在第二世界坐标系中的世界坐标(x
2i
,y
2i
),第i个第二标定点在第二图像中的像素坐标为(u
2i
,v
2i
)。
[0217]
第i个第二标定点的世界坐标(x
2i
,y
2i
)可以基于第i个第一标定点的世界坐标(x
1i
,y
1i
)确定。
[0218]
第i个第二标定点的像素坐标(u
2i
,v
2i
)中,一方面,无论第i个第二标定点是否落在第二摄像机的光轴的地面投影线(或其延长线)上,都可以通过前述v
2i
的表达式,计算得到第i个第二标定点的像素纵坐标v
2i
。另一方面,当第i个第二标定点落在第二摄像机的光轴的地面投影线(或其延长线)上时,第i个第二标定点的像素横坐标u
2i
与第二图像的中心点的像素横坐标相同,也即:u
2i
=c
x
;或者,当第i个第二标定点落在第二摄像机的光轴的地面投影线(或其延长线)之外时,则可以通过上述u
2i
的表达式,计算得到第i个第二标定点的像素横坐标u
2i

[0219]
那么,按照上述方式,分别获取第二图像中的多个第二标定点的像素坐标与世界坐标,就可以据此确定出第二摄像机的单应性矩阵。
[0220]
具体对于一个确定的第二摄像机而言,任意一个对象(例如第二标定点)的像素坐标与世界坐标,可以满足如下公式:
[0221][0222]
其中,(x
w
,y
w
)为对象(例如第二标定点)的世界坐标,(u,v)为对象(例如第二标定点)的像素坐标,为第二摄像机的单应性矩阵,h
i,j
为第二摄像机的单应性矩阵的矩阵参数,其中,i和j用于对矩阵参数进行区分,取值为1~3,z
c
为三维坐标参数。
[0223]
基于此,可以将多个第二标定点的像素坐标与世界坐标代入该公式,通过方程组求解,就能够得出该单应性矩阵中的各个矩阵参数,由此,也就得到了第二摄像机的单应性矩阵。
[0224]
在该公式中,涉及到8个未知参数,因此,通过该方案来标定第二摄像机的单应性矩阵时,需要至少4个(4个或以上)第二标定点。
[0225]
在得到第二摄像机的单应性矩阵的基础上,当该第二摄像机采集到图像(为便于区分说明,本公开将其记为第三图像)时,只需要在第三图像中获取目标对象的目标像素坐标,并将目标对象的目标像素坐标代入上式,即可计算出该目标对象在第二世界坐标系中的第一世界坐标。如此,实现了对目标对象的定位。
[0226]
在此过程中,若第二世界坐标系为绝对世界坐标系,例如经纬度坐标系,则基于第二摄像机的单应性矩阵,可以直接定位得到第三图像中目标对象的绝对世界坐标(例如,经度和纬度)。
[0227]
或者,若第二世界坐标系为相对世界坐标系,例如图8所示的情况,则基于第二摄像机的单应性矩阵,可以得到第三图像中目标对象在第二世界坐标系中的世界坐标。这种
情况下,直接将该世界坐标作为第一世界坐标。或者,也可以基于第二世界坐标系与绝对世界坐标系之间的换算关系,对目标对象在第二世界坐标系中的世界坐标进行换算处理,得到目标对象在绝对世界坐标系中的世界坐标,以作为第一世界坐标。
[0228]
本公开实施例中,当第二图像中的目标对象为目标车辆时,若目标车辆与本方案执行主体的电子设备通信连接,则该电子设备在定位出该目标车辆的位置后,还可以向目标车辆发送第一世界坐标。目标车辆可以接收第一世界坐标,并可以据此了解自身所处的位置。进一步的,目标车辆还可以进一步基于接收到的第一世界坐标,实现自动驾驶与避障。
[0229]
本公开实施例还提供了另一种定位方法,请参考图11所示的流程示意图,该方法包括如下步骤:
[0230]
s1102,接收第二摄像机采集到的第三图像,第三图像中包含目标对象。
[0231]
s1104,获取目标对象在第三图像中的第一像素坐标。
[0232]
s1106,利用第二摄像机的单应性矩阵处理第一像素坐标,得到目标对象的第一世界坐标。
[0233]
需要说明的是,在图11所示实施例中,该定位方法的执行主体(电子设备)可以直接调用第二摄像机的单应性矩阵,来实现对图像中的目标对象的定位。
[0234]
在该实施例中,第二摄像机的单应性矩阵可以存储在电子设备可读的任意位置,可以包括但不限于:电子设备的内存、与电子设备通信连接的另一电子设备(例如,摄像机)、电子设备具备数据访问权限的存储器(包括实体存储器与云端存储器等)等,不作穷举。
[0235]
如此,在执行本定位方法时,电子设备可以读取第二摄像机的单应性矩阵,然后,利用该单应性矩阵来处理目标像素坐标,即可计算得到目标对象的第一世界坐标。
[0236]
在图11所示的实施例中,第二摄像机的单应性矩阵可以采取如图6中s602~s608所示的方式标定得到,以下简述说明,未尽之处,可以参考前述说明。
[0237]
如图11的一种可能的实施例中,单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系;单应性矩阵是基于多个第二标定点的像素坐标与世界坐标确定的,第二标定点的像素坐标是基于第一摄像机的姿态参数、第二摄像机的姿态参数、第一基准点的像素坐标与世界坐标、第二标定点的世界坐标确定的。
[0238]
其中,第一摄像机与第二摄像机的内参相同;第一图像来自于第一摄像机,第一图像中包括第一基准点与多个第一标定点;第二图像来自于第二摄像机,第二图像包括第二基准点与多个第二标定点。
[0239]
第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同;并且,第一基准点相对于第一摄像机的相对位置,与第二基准点相对于第二摄像机的相对位置相同。
[0240]
多个第一标定点与多个第二标定点一一对应;在存在对应关系的一个第一标定点与一个第二标定点中,第一标定点相对于第一摄像机的相对位置,与第二标定点相对于第二摄像机的相对位置相同。
[0241]
如前文,在该定位方法中,还可以调整第一摄像机的姿态,和/或,调整第二摄像机的姿态,以使得满足前述基准点条件。也就是,在第一基准点相较于第一摄像机的相对位
置,与第二基准点相较于第二摄像机的相对位置相同时,第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同。
[0242]
本公开实施例中,在执行上述任意一种实施例的定位方法的过程中,还可以基于目标对象的第一世界坐标与第二世界坐标之间的误差情况,来校正第二摄像机的单应性矩阵。其中,第二世界坐标是通过其他方式获取到的目标对象在第二世界坐标系中的世界坐标,第一世界坐标是通过上述任意一种实施例所获取到的目标对象在第二世界坐标系中的世界坐标。
[0243]
示例性的,第二世界坐标系可以通过全球定位系统(global position system,gps)、通过网络通信查询等中的一种或多种方式获取到的。
[0244]
如此,在一种可能的实施例中,可以通过除本方案之外的其他手段获取目标对象的第二世界坐标,从而,当第一世界坐标与第二世界坐标之间的误差大于预设阈值时,校正第二摄像机的单应性矩阵。其中,第一世界坐标与第二世界坐标之间的误差可以通过二者之间的距离进行表征,此时,预设阈值也为距离阈值,其具体数值可以自定义预设。
[0245]
在前述任意一种实施例中,电子设备还可以接收第一消息,第一消息用于实现对摄像机的位姿配置,如此,电子设备可以基于第一消息,确定第一摄像机和/或第二摄像机的姿态参数。
[0246]
具体实现场景中,第一消息可以来自于用户。这种情况下,电子设备具备与用户的人机交互接口,如此,可以直接接收来自于用户的消息。
[0247]
或者,第一消息可以来自于其他电子设备的转发。为便于区分说明,可将前文的所有电子设备视作第一电子设备,而第一电子设备接收到的第一消息可以来自于第二电子设备。具体而言,第二电子设备具备人机交互接口,可以通过触控、声控、传感器等人机交互接口接收来自于用户的指令信息(例如,第一消息),并向第一电子设备发送这些指令信息。
[0248]
在前述任意一种实施例中,电子设备还可以接收第二消息,第二消息指示获取一个或多个第二摄像机的单应性矩阵,如此,当第二消息所指示的第二摄像机满足预设的标定条件时,电子设备确定第二摄像机的单应性矩阵。在该实施例中,第二消息相当于用于指示标定第二摄像机的单应性矩阵的标定指令,电子设备(或称为第一电子设备)在接收到第二消息后,若确定满足预设的标定条件,则执行s602~s608所示的标定过程。
[0249]
预设的标定条件可以为第二摄像机正常工作。进一步的,预设的标定条件还可以包括前述基准点条件。此时,若不满足标定条件,则调整第一摄像机和/或第二摄像机的姿态,直至满足预设的标定条件,即开始执行标定过程。
[0250]
另,与第一消息类似,第二消息可以直接来自于用户,也可以来自于第二电子设备。
[0251]
示例性的,图12示出了本公开实施例提供的另一种定位系统的示意图,如图12所示,该定位系统包括:
[0252]
第一电子设备1210,用于执行前述任意一种实施例的定位方法;
[0253]
摄像机1220,用于采集图像,摄像机包括第一摄像机与一个或多个第二摄像机;
[0254]
第二电子设备1230,用于接收来自于用户的指令信息,并向第一电子设备1210发送指令信息;
[0255]
此时,第一电子设备1210,还用于执行指令信息所指示的动作。
[0256]
在图12所示的定位系统中,第一电子设备1210与第二电子设备1230集成设置或分开设置。
[0257]
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本技术实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
[0258]
本公开实施例还提供一种电子设备。
[0259]
示例性的,图13示出了一种电子设备的示意图,如图13所示,该电子设备1300包括:收发模块1310、标定模块1320与定位模块1330。
[0260]
其中,收发模块1310,用于接收来自于第一摄像机的第一图像,第一图像包括第一基准点与多个第一标定点;
[0261]
收发模块1310,还用于接收来自于第二摄像机的第二图像,第二图像包括第二基准点与多个第二标定点;第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同;并且,第一基准点相对于第一摄像机的相对位置,与第二基准点相对于第二摄像机的相对位置相同;
[0262]
标定模块1320,用于根据第一摄像机的姿态参数、第二摄像机的姿态参数、第一基准点的像素坐标与世界坐标、第二标定点的世界坐标,确定第二标定点在第二图像中的像素坐标;多个第一标定点与多个第二标定点一一对应;在存在对应关系的一个第一标定点与一个第二标定点中,第一标定点相对于第一摄像机的相对位置,与第二标定点相对于第二摄像机的相对位置相同;
[0263]
标定模块1320,还用于根据多个第二标定点的像素坐标与世界坐标,确定第二摄像机的单应性矩阵;单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系;
[0264]
定位模块1330,用于当接收到来自于第二摄像机的第三图像时,利用第二摄像机的单应性矩阵,确定第三图像中目标对象的第一世界坐标。
[0265]
一种可能的实施例中,标定模块1320,具体用于:根据第一摄像机的姿态参数、第二摄像机的姿态参数与第一基准点的世界坐标,确定第二摄像机的俯仰角;根据第一图像中第一标定点的世界坐标,确定第一标定点对应的第二标定点的世界坐标;根据第一摄像机的姿态参数、第二摄像机的姿态参数、第二摄像机的俯仰角、第二标定点的世界坐标,确定第二标定点在第二图像中的像素坐标。
[0266]
另一种可能的实施例中,标定模块1320,具体用于:基于第一标定点相对于第一摄像机的相对位置、第一摄像机在第一世界坐标系中的世界坐标与第二摄像机在第二世界坐标系中的世界坐标,确定第一标定点对应的第二标定点的世界坐标;第一世界坐标系与第二世界坐标系相同或不同。
[0267]
另一种可能的实施例中,标定模块1320,具体用于:利用三角函数处理第一三角形,得到第二标定点在第二图像中的像素纵坐标;其中,第一三角形由第二摄像机的光心、第二图像的中心点、第一参考点确定,第一参考点的像素纵坐标与第二标定点的像素纵坐标相同,第一参考点的像素横坐标与第二图像中心点的像素横坐标相同。
[0268]
另一种可能的实施例中,标定模块1320,具体用于:根据第二标定点的世界坐标、所第二摄像机的高度与俯仰角,确定第一三角形的第一夹角,第一夹角为第二摄像机的光
轴与第一直线之间的夹角,第一直线由第一参考点与第二摄像机的光心确定;基于第一三角形的第一边、第二边与第一夹角之间满足的三角函数关系,确定第二标定点在第二图像中的像素坐标;其中,第一边为第二图像的中心点与第一参考点之间的边,第二边为第二图像的中心点与光心之间的边,第二边与第二摄像机的内参相关,第一边垂直于第二边。
[0269]
另一种可能的实施例中,第二标定点在第二图像中的像素纵坐标满足如下公式:
[0270][0271]
或者,
[0272][0273]
其中,v
2i
表示第i个第二标定点在第二图像上的像素纵坐标;f表示第二摄像机的焦距;dy表示单位尺寸像素数目;α2表示第二摄像机的俯仰角;h2表示第二摄像机的高度;x
2i
标识第i个第二标定点在第二世界坐标系中的世界横坐标;v
10
表示第一基准点的像素纵坐标;c
y
表示第一图像的中心点的像素纵坐标;α1表示第一摄像机的俯仰角;h1表示第一摄像机的高度;x
10
=x
20
,其中,x
10
表示第一基准点在第一世界坐标系中的世界横坐标,x
20
表示第二基准点在第二世界坐标系中的世界横坐标。
[0274]
另一种可能的实施例中,当第二标定点位于第二摄像机的光轴的地面投影线上时,第二标定点在第二图像中的像素位置与第一参考点的像素位置相同。
[0275]
另一种可能的实施例中,当第二标定点位于第二摄像机的光轴的地面投影线之外时,标定模块1320,具体用于:利用三角形相似定理处理第二三角形与第三三角形,得到第二标定点在第二图像中的像素横坐标;其中,第二三角形由第二摄像机的光心、第二标定点、第二参考点构成;第三三角形由第二摄像机的光心、第二标定点在第二图像中的像素位置、第一参考点构成;第二参考点位于第二世界坐标系,且在第二世界坐标系中,第二参考点的横轴分量与第二标定点的横轴分量相同,第二参考点的纵轴分量为零。
[0276]
另一种可能的实施例中,第二三角形与第三三角形相似,其中,第一比例等于第二比例;第一比例为第二三角形中的第三边与第三三角形中的第四边之间的比例;第三边为第二摄像机的光心与第二参考点之间的边,第四边为第二摄像机的光心与第一参考点之间的边;第二比例为第二三角形中的第五边与第三三角形中的第六边之间的比例;第五边为第二摄像机的光心与第二标定点之间的边,第六边为第二摄像机的光心与第二标定点在第二图像中的像素位置之间的边。
[0277]
另一种可能的实施例中,第二标定点在第二图像中的像素横坐标满足如下公式:
[0278][0279]
其中,u
2i
表示第i个第二标定点在第二图像上的像素纵坐标;l1表示第一参考点与第二标定点之间的距离;f表示第二摄像机的焦距;h2表示第二摄像机的高度;x
2i
表示第i个第二标定点在第二世界坐标系中的世界横坐标;c
x
表示第二图像中心点的像素横坐标;γ2i表示第一夹角,为第二摄像机的光轴与第一直线之间的夹角,
其中,α1表示第一摄像机的俯仰角;h1表示第一摄像机的高度;x
10
=x
20
,其中,x
10
表示第一基准点在第一世界坐标系的世界横坐标,x
20
表示第二基准点在第二世界坐标系的世界横坐标。
[0280]
另一种可能的实施例中,收发模块1310,还用于当第二图像中的目标对象为目标车辆时,向目标车辆发送第一世界坐标。
[0281]
图13所示实施例的电子设备可用于执行上述图6所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
[0282]
图14示出了另一种电子设备的示意图,如图14所示,该电子设备1400包括:收发模块1410与定位模块1420。其中,
[0283]
收发模块1410,用于接收第二摄像机采集到的第三图像,第三图像中包含目标对象;
[0284]
定位模块1420,用于获取目标对象在第三图像中的第一像素坐标;
[0285]
定位模块1420,还用于利用第二摄像机的单应性矩阵处理第一像素坐标,得到目标对象的第一世界坐标;
[0286]
其中,单应性矩阵用于描述摄像机的像素坐标系与世界坐标系之间的映射关系;单应性矩阵是基于多个第二标定点的像素坐标与世界坐标确定的,第二标定点的像素坐标是基于第一摄像机的姿态参数、第二摄像机的姿态参数、第一基准点的像素坐标与世界坐标、第二标定点的世界坐标确定的;
[0287]
其中,第一摄像机与第二摄像机的内参相同;第一图像来自于第一摄像机,第一图像中包括第一基准点与多个第一标定点;第二图像来自于第二摄像机,第二图像包括第二基准点与多个第二标定点;
[0288]
第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同;并且,第一基准点相对于第一摄像机的相对位置,与第二基准点相对于第二摄像机的相对位置相同;
[0289]
多个第一标定点与多个第二标定点一一对应;在存在对应关系的一个第一标定点与一个第二标定点中,第一标定点相对于第一摄像机的相对位置,与第二标定点相对于第二摄像机的相对位置相同。
[0290]
另一种可能的实施例中,电子设备1400还包括调整模块(图14未示出),调整模块具体用于:调整第一摄像机的姿态;和/或,调整第二摄像机的姿态;以使得第一基准点在第一图像中的像素坐标,与第二基准点在第二图像中的像素坐标相同。
[0291]
另一种可能的实施例中,定位模块1420还用于:获取目标对象的第二世界坐标;当第一世界坐标与第二世界坐标之间的误差大于预设阈值时,校正第二摄像机的单应性矩阵。
[0292]
另一种可能的实施例中,定位模块1410还用于接收第一消息,第一消息用于实现对摄像机的位姿配置;此时,定位模块1420,还用于基于第一消息,确定第一摄像机和/或第二摄像机的姿态参数。
[0293]
另一种可能的实施例中,收发模块1410还用于接收第二消息,第二消息指示获取一个或多个第二摄像机的单应性矩阵;此时,定位模块1420,还用于当第二消息所指示的第
二摄像机满足预设的标定条件时,确定第二摄像机的单应性矩阵。
[0294]
图14所示实施例的电子设备可用于执行上述图11所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
[0295]
应理解以上图13、图14所示电子设备的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,图13中的标定模块可以为单独设立的处理元件,也可以集成在电子设备,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于电子设备的存储器中,由电子设备的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0296]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital singnal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
[0297]
图15示出了一种电子设备的实体结构示意图。如图15所示,该电子设备1500,包括:至少一个处理器152和存储器154;所述存储器154存储计算机执行指令;所述至少一个处理器152执行所述存储器154存储的计算机执行指令,使得所述至少一个处理器152执行如前述任意一种实施例所提供的定位方法。
[0298]
其中,所述处理器152也可以称为处理单元,可以实现一定的控制功能。所述处理器152可以是通用处理器或者专用处理器等。
[0299]
在一种可选地设计中,处理器152也可以存有指令,所述指令可以被所述处理器152运行,使得所述电子设备1500执行上述方法实施例中描述的定位方法。
[0300]
在又一种可能的设计中,电子设备1500可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。
[0301]
可选地,所述电子设备1500中可以包括一个或多个存储器154,其上存有指令或者中间数据,所述指令可在所述处理器上被运行,使得所述电子设备1500执行上述方法实施例中描述的定位方法。可选地,所述存储器154中还可以存储有其他相关数据。可选地,处理器152中也可以存储指令和/或数据。所述处理器152和存储器154可以单独设置,也可以集成在一起。
[0302]
可选地,所述电子设备1500还可以包括收发器156。所述收发器156也可以称为收发单元、收发机、收发电路、或者收发器等,用于实现电子设备的收发功能。
[0303]
例如,若该电子设备1500用于实现对应于图6所示实施例中接收第一图像与第二图像的操作时,例如,可以是收发器接收来自于第一摄像机的第一图像,以及,收发器还接
收来自于第二摄像机的第二图像。收发器156还可以进一步完成其他相应的通信功能。而处理器156用于完成相应的确定或者控制操作,可选的,还可以在存储器中存储相应的指令。各个部件的具体的处理方式可以参考前述实施例的相关描述。
[0304]
本技术中描述的处理器152和收发器156可实现在集成电路(integrated circuit,ic)、模拟ic、射频集成电路rfic、混合信号ic、专用集成电路(application specific integrated circuit,asic)、印刷电路板(printed circuit board,pcb)、电子设备等上。该处理器和收发器也可以用各种1c工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor,cmos)、n型金属氧化物半导体(nmetal-oxide-semiconductor,nmos)、p型金属氧化物半导体(positive channel metal oxide semiconductor,pmos)、双极结型晶体管(bipolar junction transistor,bjt)、双极cmos(bicmos)、硅锗(sige)、砷化镓(gaas)等。
[0305]
可选的,电子设备1500可以是独立的设备或者可以是较大设备的一部分。例如所述设备可以是:
[0306]
(1)独立的集成电路ic,或芯片,或,芯片系统或子系统;
[0307]
(2)具有一个或多个ic的集合,可选地,该ic集合也可以包括用于存储数据和/或指令的存储部件;
[0308]
(3)asic,例如调制解调器(msm);
[0309]
(4)可嵌入在其他设备内的模块;
[0310]
(5)接收机、终端、蜂窝电话、无线设备、手持机、移动单元,网络设备等等;
[0311]
(6)其他等等。
[0312]
本公开实施例还提供一种定位系统。对该定位系统的说明可参见前文图5、图12相关表述,这里不再重复。
[0313]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的定位方法。
[0314]
此外,本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的定位方法。
[0315]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
[0316]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人
员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0317]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献