一种目标定位的方法、系统及相关设备与流程

文档序号:30613571发布日期:2022-07-02 00:19阅读:76来源:国知局
一种目标定位的方法、系统及相关设备与流程

1.本技术涉及人工智能(artificial intelligence,ai)领域,尤其涉及一种目标定位的方法、系统及相关设备。


背景技术:

2.随着ai技术的不断发展,立体视觉算法目前被广泛应用在智能安防、自动驾驶、工业检测、三维重建、虚拟现实等领域,体现出其强有力的技术竞争力。立体视觉算法通常使用多目摄像机对目标进行拍摄获得目标的多路图像后,根据多路图像确定目标的视差(parallax),其中,视差指的是从有一定距离的两个观察点上观察同一个目标所产生的方向差异,根据摄像机之间的距离(即基线长度)和视差,可计算出目标和摄像机之间的距离。
3.但是,当前立体视觉算法确定目标和摄像机之间的距离时,由于目标在多路图像中并不是一个点,而是一片图像区域,因此需要确定区域内每个像素的视差,根据每个像素的视差和多目摄像机的基线长度确定目标和摄像机之间的距离,该过程不仅消耗巨额计算资源,而且计算过程中易出现噪声、计算错误等问题,导致目标定位精度差,进而影响后续三维重建、自动驾驶、安防监控等应用。


技术实现要素:

4.本技术提供了一种目标定位的方法、系统及相关设备,用于解决目标定位过程消耗巨额资源、目标定位精度差的问题。
5.第一方面,提供了一种目标定位的方法,该方法包括以下步骤:获取第一图像和第二图像,第一图像和第二图像是多目摄像机在同一时刻对同一目标进行拍摄获得,然后对第一图像和第二图像进行目标检测和匹配,获得第一图像的第一目标区域和第二图像的第二目标区域,其中,第一目标区域和第二目标区域包括目标,对第一目标区域和第二目标区域进行特征点检测和匹配,获得特征点匹配结果,其中,特征点匹配结果包括第一目标区域中的特征点与第二目标区域中的特征点之间的对应关系,存在对应关系的特征点描述目标的同一个特征,根据特征点匹配结果和多目摄像机的参数信息,确定目标的位置信息。
6.具体实现中,参数信息至少包括多目摄像机的基线长度和多目摄像机的焦距,可根据特征点匹配结果中存在对应关系的特征点之间的像素差异,获得目标的视差信息,视差信息包括第一目标区域中的特征点的像素坐标与第二目标区域中存在对应关系的特征点的像素坐标之间的差距,然后根据目标的视差信息、多目摄像机的基线长度以及多目摄像机的焦距,确定目标与摄像机之间的距离,获得目标的位置信息。
7.实施第一方面描述的方法,根据特征点的匹配结果确定目标的视差信息,进而确定目标的位置信息,无需对第一图像区域和第二图像区域中每个像素进行匹配和视差计算,从而降低定位测距时所需的计算资源,同时避免背景干扰、噪声等问题,提升测距定位的精度。
8.在第一方面的一种可能的实现方式中,多目摄像机包括多个摄像机组,多个摄像
机组中的每组摄像机包括多个摄像机,基于此,可获取多目摄像机的基线数据,基线数据包括每组摄像机中的多个摄像机之间的基线长度,根据目标的测量精度需求,从基线数据中获取目标基线,然后根据目标基线获取第一图像和第二图像,其中,第一图像和第二图像是目标基线对应的摄像机组拍摄获得。
9.举例来说,若多目摄像机包括n个摄像机,其中,n为正整数,相机编号依次为1,2,

,n,每两个摄像机可组合成一个对应基线长度的双目摄像机组,比如相机1和相机n组成的双目摄像机组的基线为bl1,相机1和相机n-1组成的双目摄像机组的基线为bl2,以此类推,可以获得个双目摄像机组,因此基线数据包括种双目摄像机的基线长度。上述举例用于说明,本身不对多目摄像机的数量以及每个摄像机组中包含摄像机的数量进行限定。
10.具体实现中,可根据目标的测量精度需求确定目标基线。具体地,可先确定每组摄像机的第一精度指标和第二精度指标,其中,第一精度指标与每组摄像机的基线长度呈反比例关系,第一精度指标与每组摄像机的共视区域呈正比例关系,第二精度指标与每组摄像机的基线长度和焦距呈正比例关系,共视区域是每组摄像机中的多个摄像机共同拍摄到的区域,然后根据目标的测量精度需求确定第一精度指标和第二精度指标的权重,再根据第一精度指标、第二精度指标和权重,获得所每组摄像机的综合指标,从而根据每组摄像机的综合指标,从而确定目标基线。
11.应理解,固定基线的多目摄像机,为了确保测距精度,其测距范围也是固定的,这是因为目标距离摄像机越近,多目摄像机的共视区域趋近于0,其中,共视区域指的是多目摄像机能够同时拍到的区域,此时目标在多目摄像机中的个别摄像机中可能不存在成像点,也就无法计算目标的视差。而目标距离摄像机越远,目标在第一图像和第二图像上所在的区域会越来越模糊,对视差计算造成影响,因此固定基线的多目摄像机拥有固定的测距范围。进一步的,由于多目摄像机的基线长度和共视区域对视差的测量精度有着一定的影响,其中,共视区域指的是多目摄像机能够同时拍到的区域。多目摄像机的基线长度越长,测距精度越大,但是共视区域随着基线长度的变大会逐渐减少,可能会出现目标不在多目摄像机的共视区域内的情况。因此,可根据多目摄像机的共视区域大小以及待测的目标的测量精度需求确定目标基线。
12.其中,待测的目标的测量精度需求可包括目标与多目摄像机的大致远近程度,换句话说,目标的远距离目标或近距离目标。其中,待测的目标是远距离目标还是近距离目标,可以根据多目摄像机采集的图像中目标所在的图像区域大小来确定,远距离目标在摄像机所采集的图像中所占的图像区域很小,近距离目标在摄像机所采集的图像中所占的图像区域很大,因此当图像区域小于第一阈值时,可以确定待测的目标为近距离目标,图像区域小于第二阈值时,可以确定待测的目标为远距离目标。测量精度需求还可包括待测的目标的测量误差阈值,比如测量误差不小于1米。应理解,上述举例用于说明,本技术不作具体限定。
13.其中,多目摄像机采集的基线数据不仅包括每个摄像机组中的多个摄像机之间的基线长度,还可包括多个摄像机之间的共视区域大小,其中,共视区域大小可以根据摄像机组中每个摄像机的拍摄范围确定,该拍摄范围指的是摄像机拍摄的图像中记录的地理区域的范围。具体实现中,可以通过确定每路视频的视频画面中能够显示的最边缘的边缘位置
点,确定每个边缘位置点的像素坐标,通过相机标定算法(camera calibration)将其转换为地理坐标后,根据这些地理坐标组成的区域确定该路视频的拍摄范围,进而获得共视区域大小。
14.可选地,可向多目摄像机发送携带目标基线的基线调整请求,基线调整请求用于指示多目摄像机调整该多目摄像机中包括的摄像机组的基线长度到上述目标基线,然后再接收由上述目标基线对应的摄像机组拍摄的第一图像和第二图像。
15.上述实现方式,根据多目摄像机的共视区域大小以及待测的目标的测量精度需求确定目标基线,可以在尽可能提高测量精度的同时,确保目标处于该目标基线对应的双目摄像机的拍摄范围内,解决固定基线的多目摄像机只能对固定测距范围内的目标进行测距的问题,扩大本技术提供的测距定位系统的测距范围。
16.在第一方面的一种可能的实现方式中,多目摄像机可以对目标进行拍摄获得第一路视频和第二路视频,接收上述第一路视频和第二路视频后,可对第一路视频和第二路视频进行时间同步处理,获得同一时刻的第一图像和第二图像,其中,第一图像是第一路视频中的图像帧,第二图像是第二路视频中的图像帧。
17.具体实现中,可以从第一路视频中获取参考帧,从第二路视频中获取多个运动帧,其中,参考帧和多个运动帧中包括运动物体,然后将参考帧与多个运动帧进行特征点匹配,获得多个运动帧中的同步帧,其中,同步帧中的特征点与参考帧中对应的特征点之间连线的平行度满足预设条件,再根据参考帧和同步帧对第一路视频和第二路视频进行时间同步校正,获得同一时刻的第一图像和第二图像。其中,满足预设条件可以是指将连线之间的平行度最高的帧确定为同步帧。
18.应理解,由于多目摄像机中每个摄像机的型号、厂家、时间戳、视频的帧率可能是不相同的,并且网络传输时延也可能会导致传输过程中出现丢帧,摄像机计算性能较差时也容易出现丢帧,因此多个摄像机采集的多路视频难以保证时间同步性。举例来说,摄像头1和摄像头2监控同一个路口,摄像头1由于在t1时刻的对闯红灯的车辆进行了抓拍,使得摄像头1传输的实时视频流自抓拍时刻t1之后20ms内产生的视频帧均丢失,摄像头2没有进行抓拍,也没有出现丢帧的情况,因此目标定位系统110接收到的第一路视频和第二路视频后,自t1时刻起,摄像头2采集的视频比摄像头1采集的视频快20ms,若直接将摄像头1和摄像头2采集的第一路视频和第二路视频进行视差计算,获得的视差信息存在误差,进而导致后续测距定位、三维重建等应用存在障碍,对第一路图像和第二路图像进行时间同步可以解决该问题。
19.具体实现中,可通过光流法确定上述参考帧和运动帧。其中,光流指的是空间运动物体在观察成像平面上的像素运动的瞬时速度,在时间间隔很小时,光流也可等同于空间运动物体的位移。基于此,确定参考帧和运动帧的步骤流程可以如下:先对第一路视频和第二路视频中的每帧图像进行同步目标的目标检测,获得每帧图像中的一个或者多个同步目标,然后通过光流法确定每个同步目标的光流,通过每帧图像中的每个同步目标的光流来判断其是否为运动物体,从而获得包含运动物体的运动帧,以及包含运动物体数量最多参考帧。
20.值得注意的是,对每帧图像进行目标检测时,检测出的同步目标应是有运动可能的目标,而不能是一定静止的目标,比如建筑物。因此同步目标可以是前述内容中待测的目
标,也可以是其他目标,本技术不作具体限定。举例来说,如果待测的目标是某一电线杆,那么用于实现时间同步的同步目标可以是行人或者车辆,如果待测的目标是车辆a,那么用于实现时间同步的同步目标可以是车辆和行人,上述例子用于举例说明,本技术不对此进行限定。
21.需要说明的,本技术实施例中的目标检测算法可采用业界已有的用于目标检测具有较优效果的神经网络模型中的任意一种,例如:一阶段统一实时目标检测(you only look once:unified,real-time object detection,yolo)模型、单镜头多盒检测器(single shot multi box detector,ssd)模型、区域卷积神经网络(region convolutional neural network,rcnn)模型或快速区域卷积神经网络(fast region convolutional neural network,fast-rcnn)模型等,本技术不作具体限定。并且,本技术实施例中的光流法也可采用业界已有的用于计算光流具有较优效果的光流法中的任意一种,例如lucas-kanade(lk)光流法,本技术不作具体限定。
22.可选地,可在获得每一帧中每个物体的光流(即物体的瞬时速度)后,通过确定物体的速度在图像行方向上是否有速度分量判断该物体是否是运动物体,具体地,由于多目摄像机(例如图1所示的多目摄像机)固定于同一高度,若物体在行方向进行运动,物体的行坐标将发生变化,因此若运动帧tn中的物体x与前一帧tn-1(或者后一帧tn+1)中同一物体x的行坐标不相等,即可确定该物体为运动物体。可以理解的是,垂直运动的物体只在列方向进行运动,该类运动物体在图像行方向上没有速度分量,只在列方向上有速度分量,因此垂直运动的物体对视差计算没有贡献,在可将垂直运动物体也当做非运动物体,不参与视差计算,从而减少计算量,提高视差计算的精度和效率。
23.进一步地,将参考帧与运动帧进行匹配时,可将参考帧中的运动物体与运动帧中的运动物体做特征点的匹配,计算出各个特征点行坐标的差值δs,δs越小表示参考帧中的运动物体与运动帧中的运动物体越接近,参考帧中的特征点与运动帧中特征点之间的连线就越平行,如果δs为0,表示两帧同步,若不为0,则表示两帧不同步,因此可根据δs计算出准确的同步偏移时间δt,该同步偏移时间δt可作为后续每一帧行坐标的补偿,从而获得同步后的第一路视频和第二路视频,进而获得每一时刻下的第一图像和第二图像,比如第一图像和第二图像。
24.可选地,在对第一路视频和第二路视频进行视频同步处理之前,还可对第一路视频和第二路视频进行立体校正。应理解,计算视差时使用的公式往往是在假设多目摄像机处于理想境况时推导得出的,所以在使用多目摄像机进行测距定位之前,要将实际使用的多目摄像机校正为理想状态。以双目摄像机为例,经过立体校正后的双目摄像机,其左右摄像机的图像平面平行,光轴和图像平面垂直,极点位于无限远处,此时的点(x0,y0)对应的极线为y=y0。具体实现中,本技术实施例可采用业界已有的具有较优效果的立体校正方法中的任意一种,例如bouguet极线校正方法,本技术不作具体限定。
25.上述实现方式,对第一路视频和第二路视频进行时间同步处理获得第一图像和第二图像,然后根据第一图像和第二图像进行目标的位置信息的确定,可以提高位置信息的准确度,进而提高后续ar、vr、三维重建等应用的准确性。
26.在第一方面的一种可能的实现方式中,可以将第一图像输入检测匹配模型,获得第一图像的第一检测匹配结果,将第二图像输入检测匹配模型,获得第二图像的第二检测
匹配结果,其中,第一检测匹配结果和第二检测匹配结果包括目标框和标签,目标框用于指示目标在图像中的区域,同一目标的标签相同,根据第一检测匹配结果获得第一目标区域,根据第二检测匹配结果获得第二目标区域。
27.其中,目标检测匹配结果中的目标框可以是矩形框、圆形框、椭圆框等等,本技术不作具体限定。应理解,如果待测目标的数量为多个,检测匹配结果可包括多个目标的多个目标框,因此在检测匹配结果中,可对相同目标使用相同的标签进行标识,不同的目标使用不同的标签进行标识,这样,在对目标进行视差计算时,可根据标签辨别不同路视频帧中的同一目标,从而达到将同一时刻下的第一图像和第二图像中的同一目标进行特征点匹配的目的,进而获得该目标的视差。
28.可选地,该检测匹配模型可包括特征提取模块和检测匹配模块。其中,特征提取模块用于提取输入的第一图像和第二图像中的特征,生成高维度的特征向量,检测匹配模块620用于根据上述特征向量,生成包含目标框和标签的检测匹配结果。
29.可选地,在获取第一图像和第二图像之前,可使用样本集对检测匹配模型进行训练,该样本集可包括第一图像样本、第二图像样本以及对应的样本真值,该样本真值包括目标检测真值和目标匹配真值,其中,目标检测真值包括第一图像样本和第二图像样本中目标的目标框,目标匹配真值包括第一图像样本和第二图像样本中目标的标签,使用该样本集对上述检测匹配模型进行训练时,用于反向传播的检测匹配损失是根据检测匹配模块的输出值与样本真值之间的差距确定的,根据该检测匹配损失对检测匹配模型的参数进行调整,直至上述检测匹配损失达到阈值后,获得训练好的检测匹配模型。
30.具体实现中,特征提取模块可以是vgg、resnet等用于提取图像特征的神经网络骨干结构,上述检测匹配模块可以是目标检测网络,比如yolo网络、ssd网络、rcnn等等,本技术不作具体限定。
31.上述实现方式,通过将相同的目标标记为相同标签的方式,可以将第一图像和第二图像输入检测匹配模型后,根据标签是否相同确定第一目标区域和第二目标区域,而不是对目标进行图像识别来确定第一图像和第二图像中的同一目标,可以减少计算复杂度,提高第一目标区域和第二目标区域的获取效率,进而提高测距定位的效率。
32.第二方面,提供了一种目标定位系统,该系统包括:获取单元,用于获取第一图像和第二图像,第一图像和第二图像是多目摄像机在同一时刻对同一目标进行拍摄获得;检测匹配单元,用于对第一图像和第二图像进行目标检测和匹配,获得第一图像的第一目标区域和第二图像的第二目标区域,其中,第一目标区域和第二目标区域包括目标;检测匹配单元,用于对第一目标区域和第二目标区域进行特征点检测和匹配,获得特征点匹配结果,其中,特征点匹配结果包括第一目标区域中的特征点与第二目标区域中的特征点之间的对应关系,存在对应关系的特征点描述目标的同一个特征;位置确定单元,用于根据特征点匹配结果和多目摄像机的参数信息,确定目标的位置信息。
33.实施第二方面描述的系统,可根据待测的目标确定目标基线,使用该目标基线的摄像机组对目标进行采集获得第一图像和第二图像,然后对第一图像和第二图像进行目标检测和匹配,获得目标所在的第一目标区域和第二目标区域,最后对第一目标区域和第二目标区域进行特征点的检测和匹配,获得特征点匹配结果,根据特征点匹配结果确定每个特征点的视差信息,从而确定目标的位置信息。该系统可根据待测的目标灵活选择目标基
线的摄像机组进行数据采集,避免由于固定基线的多目摄像机带来的测距范围受限的问题,提高目标定位系统的测距范围,同时,该系统根据特征点的视差信息确定目标的位置信息,无需对第一图像区域和第二图像区域中每个像素进行匹配和视差计算,从而降低定位测距时所需的计算资源,同时避免背景干扰、噪声等问题,提升测距定位的精度。
34.在第二方面的一种可能的实现方式中,参数信息至少包括多目摄像机的基线长度和多目摄像机的焦距;位置确定单元,用于根据特征点匹配结果中存在对应关系的特征点之间的像素差异,获得目标的视差信息,视差信息包括第一目标区域中的特征点的像素坐标与第二目标区域中存在对应关系的特征点的像素坐标之间的差距;位置确定单元,用于根据目标的视差信息、多目摄像机的基线长度以及多目摄像机的焦距,确定目标与摄像机之间的距离,获得目标的位置信息。
35.在第二方面的一种可能的实现方式中,多目摄像机包括多个摄像机组,多个摄像机组中的每组摄像机包括多个摄像机,系统还包括基线确定单元,基线确定单元,用于获取多目摄像机的基线数据,基线数据包括每组摄像机中的多个摄像机之间的基线长度;基线确定单元,用于根据目标的测量精度需求,从基线数据中获取目标基线;获取单元,用于根据目标基线获取第一图像和第二图像,其中,第一图像和第二图像是目标基线对应的摄像机组拍摄获得。
36.在第二方面的一种可能的实现方式中,基线确定单元,用于向多目摄像机发送携带目标基线的基线调整请求,基线调整请求用于指示多目摄像机调整其包括的摄像机组的基线长度到目标基线;获取单元,用于接收目标基线对应的摄像机组拍摄的第一图像和第二图像。
37.在第二方面的一种可能的实现方式中,基线确定单元,用于确定每组摄像机的第一精度指标和第二精度指标,其中,第一精度指标与每组摄像机的基线长度呈反比例关系,第一精度指标与每组摄像机的共视区域呈正比例关系,第二精度指标与每组摄像机的基线长度和焦距呈正比例关系,共视区域是每组摄像机中的多个摄像机共同拍摄到的区域;基线确定单元,用于根据目标的测量精度需求确定第一精度指标和第二精度指标的权重;基线确定单元,用于根据第一精度指标、第二精度指标和权重,获得所每组摄像机的综合指标;基线确定单元,用于根据每组摄像机的综合指标,确定目标基线。
38.在第二方面的一种可能的实现方式中,该系统还包括同步单元,同步单元,用于接收多目摄像机对目标进行拍摄获得的第一路视频和第二路视频;同步单元,用于对第一路视频和第二路视频进行时间同步处理,获得同一时刻的第一图像和第二图像,其中,第一图像是第一路视频中的图像帧,第二图像是第二路视频中的图像帧。
39.在第二方面的一种可能的实现方式中,同步单元,用于从第一路视频中获取参考帧,从第二路视频中获取多个运动帧,其中,参考帧和多个运动帧中包括运动物体;同步单元,用于将参考帧与多个运动帧进行特征点匹配,获得多个运动帧中的同步帧,其中,同步帧中的特征点与参考帧中对应的特征点之间连线的平行度满足预设条件;同步单元,用于根据参考帧和同步帧对第一路视频和第二路视频进行时间同步校正,获得同一时刻的第一图像和第二图像。
40.在第二方面的一种可能的实现方式中,检测匹配单元,用于将第一图像输入检测匹配模型,获得第一图像的第一检测匹配结果,将第二图像输入检测匹配模型,获得第二图
像的第二检测匹配结果,其中,第一检测匹配结果和第二检测匹配结果包括目标框和标签,目标框用于指示目标在图像中的区域,同一目标的标签相同;检测匹配单元,用于根据第一检测匹配结果获得第一目标区域,根据第二检测匹配结果获得第二目标区域。
41.第三方面,提供了一种计算机程序产品,包括计算机程序,当计算机程序被计算设备读取并执行时,实现如第一方面所描述的方法。
42.第四方面,提供了一种计算机可读存储介质,包括指令,当指令在计算设备上运行时,使得计算设备实现如第一方面描述的方法。
43.第五方面,提供了一种计算设备,包括处理器和存储器,处理器执行存储器中的代码实现如第一方面描述的方法。
附图说明
44.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
45.图1是一种基于双目摄像机成像结构示意图;
46.图2是本技术提供的一种立体视觉系统的架构图;
47.图3是本技术提供的一种目标定位系统的部署示意图;
48.图4是本技术提供的固定目标不同基线的双目摄像机的测距误差示意图;
49.图5是一种基线过长的双目摄像机在拍摄目标点时的成像示意图;
50.图6是本技术提供的一种目标定位方法的步骤流程示意图;
51.图7是本技术提供的第一路视频和第二路视频进行时间同步的步骤流程意图;
52.图8是本技术提供的目标检测匹配结果的示例图;
53.图9是本技术提供的目标检测模型的结构示意图;
54.图10是本技术提供的特征点检测和匹配的流程示意图;
55.图11是本技术提供的一种目标定位方法在一应用场景下的特征点匹配结果示意图;
56.图12是本技术提供的一种无纹理物体的示意图;
57.图13是本技术提供的一种遮挡场景下的确定第一目标区域和第二目标区域的步骤流程示意图;
58.图14是本技术提供的一种目标定位系统的结构示意图;
59.图15是本技术提供的一种计算设备的结构示意图。
具体实施方式
60.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
61.下面对本技术涉及的应用场景进行说明。
62.立体视觉定位指的是通过图像传感器获取的视频或图像信息来确定图像中的物体在三维世界空间中的位置。人们可以对图像传感器采集的视频信息进行分析,实现目标坐标定位、目标测距、三维重建等,并将结果反馈到终端或者云端处理器中,服务于更加丰富的应用,比如智能安防、自动驾驶、工业检测、智慧交通、ar、vr、adas、医学等。
63.立体视觉定位通常使用双目摄像机对目标进行拍摄获得目标的多路视频后,先根据多路视频确定视差(parallax),其中,视差指的是从有一定距离的两个观察点上观察同一个目标所产生的方向差异,根据摄像机之间的距离(即基线长度)和视差,可计算出目标和摄像机之间的距离,从而获得目标在三维世界空间中的精准位置。具体实现中,视差可以是目标在不同摄像机所拍摄的图像中的像素坐标的差异。举例来说,假设双目摄像机包括左侧相机和右侧相机,若目标x在左侧相机拍摄的图片中的像素坐标为(x,y),在右侧相机拍摄的图片中的像素坐标为(x+d,y),那么d即为目标x在水平方向的视差。应理解,上述举例用于说明,本技术不作具体限定。
64.下面结合图1,对上述根据基线长度和视差,确定目标和摄像机之间距离的方法进行举例说明,如图1所示,图1是一种基于双目摄像机成像结构示意图。其中,双目摄像机的两个摄像机的焦距、成像平面长度等摄像机参数均相同,p是待检测的目标点,o
l
是该双目摄像机的左侧相机的光心,or是右侧相机的光心,线段ab是左侧相机的成像平面,线段cd是右侧相机的成像平面,线段o
l
or即为该双目摄像机的基线,长度为b,成像平面ab与光心o
l
之间的距离即为双目摄像机的焦距f。
65.成像平面ab上的点p
l
即为目标点p在左侧相机的成像,成像平面cd上的点pr即为目标点p在右侧相机的成像,成像p
l
与成像平面ab最左侧的边缘的点a之间的距离x
l
即为目标点p在左侧相机所拍摄图像的图像横坐标,成像pr与成像平面cd最左侧的边缘的点c之间的距离xr即为目标点p在右侧相机所拍摄图像的图像横坐标,那么待检测的目标点p的视差即为(x
l-xr)。
66.由于成像平面ab、cd和基线o
l
or平行,因此三角形po
l
or与三角形pp
l
pr相似,假设目标p与两个摄像机的基线之间的垂直距离为z,根据三角形相似定理可获得如下等式:
[0067][0068]
由于双目摄像机的两个摄像机的参数是相同的,因此cd=ab,所以可以获得如下等式:
[0069][0070][0071]
其中,x
l-xr即为视差,b为基线长度,f为摄像机的焦距,因此根据多目摄像机的视差、基线长度和焦距可以获得目标与摄像机之间的距离z。应理解,图1所示的推导过程计算过程用于举例说明,本技术不对根据视差确定目标与摄像机之间的举例的具体算法进行限定。
[0072]
但是,当前立体视觉算法确定目标和摄像机之间的距离时,由于目标在多路图像中并不是一个点,而是一片图像区域,因此需要确定区域内每个像素的视差,根据每个像素的视差和多目摄像机的基线长度确的目标和摄像机之间的距离,该过程不仅消耗巨额计算资源,而且大量的计算中容易出现噪声、计算错误、背景干扰等问题,使得测距定位的精度无法保证,进而影响后续三维重建、自动驾驶、安防监控等应用。
[0073]
为了解决上述立体视觉算法进行测距定位时消耗巨额计算资源且测距定位精度
差的问题,本技术提供了一种目标定位系统,可根据待测的目标灵活设置多目摄像机的基线长度,从而解决测距范围小的问题,通过对多目摄像机拍摄到的第一图像和第二图像进行目标检测和匹配,确定第一图像和第二图像中该目标所在的目标区域,然后对该目标所在的目标区域进行特征点检测和匹配,根据每个目标区域中的特征点与其他目标区域中特征点之间的像素差异确定目标的视差信息,而无需对目标区域中的每个像素进行匹配,从而降低测距定位所需的计算资源并且避免了背景图像对于目标视差计算的干扰,提高视差计算准确度,提升测距定位的精度。
[0074]
图2是本技术实施例的一种系统架构图,如图2所示,本技术提供的用于进行立体视觉定位的系统架构可包括目标定位系统110、多目摄像机120以及应用服务器130。其中,目标定位系统110与多目摄像机120通过网络连接,应用服务器130与目标定位系统110通过网络连接,上述网络可以是无线网络也可以是有线网络,本技术不作具体限定。
[0075]
多目摄像机120包括多个摄像机组,多个摄像机组中的每组摄像机包括多个摄像机,比如多目摄像机120包括n个摄像机,其中,n为正整数,相机编号依次为1,2,

,n,每两个摄像机可组合成一个对应基线长度的双目摄像机组,比如相机1和相机n组成的双目摄像机组的基线为bl1,相机1和相机n-1组成的双目摄像机组的基线为bl2,以此类推,可以获得个双目摄像机组。应理解,上述举例用于说明,本技术不作具体限定。
[0076]
其中,多目摄像机120用于将基线数据发送至目标定位系统110,其中,该基线数据包括每个摄像机组中多个摄像机之间的基线长度,仍以上述例子为例,多目摄像机120包括种双目摄像机,那么基线数据可以包括种双目摄像机的基线长度。多目摄像机120还用于接收目标定位系统110的发送的目标基线,并将目标基线对应的摄像机组所采集的第一图像和第二图像发送至目标定位系统110。其中,第一图像和第二图像是同一时刻对同一目标进行拍摄获得的图像。目标基线是目标定位系统110根据目标的测量精度需求确定的目标基线。
[0077]
具体实现中,多目摄像机120可接收由目标定位系统110发送的基线调整请求,该基线调整请求中携带有上述目标基线,多目摄像机120可根据该基线调整请求,获取由目标基线对应的摄像机组拍摄的第一图像和第二图像,然后将其发送至目标定位系统110。
[0078]
可以理解的,使用立体视觉算法对目标进行定位时,多目摄像机的基线长度是往往固定不变的,在基线固定的情况下,越远的目标测距精度越差,进而导致测距定位的范围也受到限制。因此,目标定位系统根据目标的测量精度需求,确定多目摄像及120的基线长度,比如在对远距离目标进行测距时,可使用基线较长的双目摄像机,近距离目标进行测距定位时,可使用基线较短的双目摄像机,从而扩大测距定位的范围,解决测距定位时的测距范围小的问题。
[0079]
可选地,多目摄像机120还用于使用该目标基线对应的摄像机组对目标进行拍摄,获得多路视频,比如第一路视频和第二路视频,然后将第一路视频和第二路视频发送至目标定位系统110,其中,第一路视频和第二路视频包括上述第一图像和第二图像,目标定位系统110可以对第一路视频和第二路视频进行时间同步处理后,获得上述第一图像和第二图像。
[0080]
值得注意的是,上述第一路视频和第二路视频可以是多目摄像机120实时采集的
视频,也可以是缓存的历史视频,比如多目摄像机120包括10个摄像头,位于某小区门口,每个摄像头采集了早上8点至晚上8点小区门口的监控视频后,于晚上9点作为第一路视频和第二路视频传输至目标定位系统110进行处理,也可以每个摄像头实时采集小区门口的监控视频,通过网络实时传输至目标定位系统110进行处理,本技术不作具体限定。
[0081]
可选地,在目标是静止目标时,上述多目摄像机120中的摄像机也可以是单目可移动相机,简单来说,该摄像机系统只包括一个安装于一可滑动的支撑杆上的摄像机,摄像机可通过该滑动支撑杆,在不同角度对目标进行第一路视频和第二路视频的采集,摄像机在滑动支撑杆上移动的距离长度即为上述目标基线。应理解,上述多目摄像机120还可包括其他能够采集同一目标的第一路视频和第二路视频的架构,本技术不作具体限定。
[0082]
应用服务器130可以是单个服务器,也可以是多个服务器组成的服务器集群,服务器可以是通用的物理服务器实现的,例如,arm服务器或者x86服务器,也可以是结合网络功能虚拟化(network functions virtualization,nfv)技术实现的虚拟机(virtual machine,vm)比如数据中心内的虚拟机,本技术不作具体限定。其中,应用服务器130用于根据目标定位系统110发送的位置信息,实现三维重建、工业检测、智能安防、ar、vr、自动驾驶等功能。
[0083]
目标定位系统110用于接收多目摄像机120发送的第一图像和第二图像,对第一图像和第二图像进行目标检测和匹配,获得第一图像的第一目标区域和第二图像的第二目标区域,其中,第一目标区域和第二目标区域包括上述待测的目标。然后对第一目标区域和第二目标区域进行特征点检测和匹配,获得特征点匹配结果,其中,该特征点匹配结果包括第一目标区域中的特征点与第二目标区域中的特征点之间的对应关系,存在该对应关系的特征点描述目标的同一个特征,最后根据特征点匹配结果和多目摄像机的参数信息,可以确定目标的视差信息,进而结合公式3确定目标的位置信息,并将其发送至上述应用服务器130,以供应用服务器130根据位置信息实现三维重建、ar、vr、自动驾驶等功能。
[0084]
可选地,目标定位系统110还可接收多目摄像机120发送的上述基线数据,然后根据待测的目标的测量精度需求,从基线数据中获取目标基线,然后将其发送至多目摄像机120,使得多目摄像机120使用目标基线对应的摄像机组对目标进行采集,获得第一图像和第二图像。
[0085]
可选的,多目摄像机120使用目标基线对应的摄像机对目标进行采集后,还可获得第一路视频和第二路视频,目标定位系统110接收到上述第一路视频和第二路视频后,可以对第一路视频和第二路视频进行时间同步处理,获得上述第一图像和第二图像。
[0086]
具体实现中,本技术提供的目标定位系统110部署灵活,可部署在边缘环境,具体可以是边缘环境中的一个边缘计算设备或运行在一个或者多个边缘计算设备上的软件系统。边缘环境指在地理位置上距离上述多目摄像机120较近的,用于提供计算、存储、通信资源的边缘计算设备集群,比如位于道路两侧的边缘计算一体机。举例来说,目标定位系统110可以是距离路口较近的位置的一台或多台边缘计算设备或者是运行在距离路口较近的位置的边缘计算设备的软件系统,该路口中设置有摄像机1、摄像机2和摄像机3对该路口进行监控,边缘计算设备可根据待测的目标确定最适合的基线为bl3,满足基线bl3的摄像机包括摄像机1和摄像机3,边缘计算设备可对摄像机1和摄像机3采集的第一路视频和第二路视频进行时间同步处理,获得同一时刻下的第一图像和第二图像,然后对第一图像和第二
图像进行目标检测,获得第一目标图像和第二目标图像,其中,第一目标图像和第二目标图像都包括该待测的目标,接着,对第一目标图像和第二目标图像进行特征点检测和匹配,获得特征点匹配结果,根据特征点匹配结果和摄像机1、摄像机3的参数信息可以确定目标的视差信息,进而结合公式3确定目标的位置信息,将位置信息发送给应用服务器130,以供应用服务器根据位置信息实现三维重建、ar、vr、自动驾驶等功能。
[0087]
目标定位系统110还可以部署在云环境,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,该云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源)。目标定位系统110可以是云数据中心的服务器,也可以是创建在云数据中心中的虚拟机,还可以是部署在云数据中心中的服务器或者虚拟机上的软件系统,该软件系统可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,目标定位系统110还可部署在距离某路口较远的云数据中心,该路口中设置有摄像机1、摄像机2和摄像机3对该路口进行监控,云数据中心可根据待测目标确定最适合的基线为bl3,满足基线bl3的摄像机包括摄像机1和摄像机3,云数据中心可对摄像机1和摄像机3采集的第一路视频和第二路视频进行时间同步处理,获得同一时刻下的第一图像和第二图像,然后对第一图像和第二图像进行目标检测,获得第一目标图像和第二目标图像,其中,第一目标图像和第二目标图像都包括该待测的目标,接着,对第一目标图像和第二目标图像进行特征点检测和匹配,获得特征点匹配结果,根据特征点匹配结果和摄像机1、摄像机3的参数信息确定目标的视差信息,进而结合公式3确定目标的位置信息,将位置信息发送给应用服务器130,以供应用服务器根据位置信息实现三维重建、ar、vr、自动驾驶等功能。
[0088]
目标定位系统110还可以部分部署在边缘环境,部分部署在云环境。比如边缘计算设备负责根据待测的目标确定双目摄像机的基线,云数据中心根据该双目摄像机采集的第一路视频和第二路视频确定视差信息。举例来说,如图3所示,该路口中设置有摄像机1、摄像机2和摄像机3对该路口进行监控,边缘计算设备可根据待测的目标确定最适合的基线为bl3,满足基线bl3的摄像机包括摄像机1和摄像机3,边缘计算设备还可对摄像机1和摄像机3采集的第一路视频和第二路视频进行时间同步处理,获得同一时刻下的第一图像和第二图像,然后将其发送给云数据中心,云数据中心可对第一图像和第二图像进行目标检测,获得第一目标图像和第二目标图像,其中,第一目标图像和第二目标图像都包括该待测的目标,接着,对第一目标图像和第二目标图像进行特征点检测和匹配,获得特征点匹配结果,根据特征点匹配结果和摄像机1、摄像机3的参数信息可以确定目标的视差信息,进而结合公式3确定目标的位置信息,将位置信息发送给应用服务器130,以供应用服务器根据位置信息实现三维重建、ar、vr、自动驾驶等功能。
[0089]
应理解,目标定位系统110内部的单元模块也可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本技术不对其进行限制。图2为一种示例性的划分方式,如图2所示,目标定位系统110可包括基线确定单元111、同步单元112以及检测匹配单元113。需要说明的,由于目标定位系统110部署灵活,因此目标定位系统中的各个模块也可以部署于同一个边缘计算设备、或者同一个云数据中心、或者同一个物理机上,当然,也可以是部分部署于边缘计算设备,部分部署于云数据中心,比如基线确定单元111部署于边缘计算设备,同步单元112以及检测匹配单元113部署于云数
据中心,本技术不作具体限定。
[0090]
其中,基线确定单元111用于接收多目摄像机120发送的基线数据,然后根据待测的目标的测量精度需求确定目标基线,并将其发送至多目摄像机120。应理解,多目摄像机的基线长度和共视区域对视差的测量精度有着一定的影响,其中,共视区域指的是多目摄像机能够同时拍到的区域。
[0091]
应理解,固定基线的多目摄像机,为了确保测距精度,其测距范围也是固定的,这是因为目标距离摄像机越近,多目摄像机的共视区域趋近于0,目标在多目摄像机中的个别相机可能不存在成像点,也就无法计算目标的视差。而目标距离摄像机越远,目标在第一图像和第二图像上所在的区域会越来越模糊,对视差计算造成影响,因此固定基线的多目摄像机拥有固定的测距范围。本技术提供的系统中,基线确定单元111可根据待测的目标的测量精度需求灵活确定目标基线,进而扩大本技术提供的测距定位系统的测距范围。
[0092]
下面对影响多目摄像机进行测距定位误差的几个因素进行简要说明。以双目摄像机为例,图4是固定目标不同基线的双目摄像机的测距误差示意图,由图4可知,目标与多目摄像机120之间的距离为50米时,双目摄像机120的基线长度不同,测距误差也不同。基线长度越短,测距误差越大,对应的测距精度越低;基线长度越长,测距误差越小,对应的测距精度越高。
[0093]
但是,双目摄像机的基线长度过长时,双目摄像机的共视区域会不断减少,可能会出现左侧摄像机或右侧摄像机无法拍摄到目标的情况,例如图5所示,图5是一种基线过长的双目摄像机在拍摄目标点时的成像示意图,若双目摄像机的基线过长,目标点p不在右侧相机的拍摄范围内,换句话说,目标点p在右侧相机的成像平面cd上没有成像点,进而无法根据视差确定目标的位置信息。
[0094]
结合上述影响多目摄像机测距精度的因素,基线确定单元111可通过如下方式确定目标基线:首先,确定每组摄像机的第一精度指标和第二精度指标,其中,第一精度指标与每组摄像机的基线长度呈反比例关系,第一精度指标与每组摄像机的共视区域呈正比例关系,第二精度指标与每组摄像机的基线长度和焦距呈正比例关系,共视区域是每组摄像机中的多个摄像机共同拍摄到的区域,然后根据目标的测量精度需求确定第一精度指标和第二精度指标的权重,再根据第一精度指标、第二精度指标和权重,获得所每组摄像机的综合指标,从而根据每组摄像机的综合指标,确定目标基线。
[0095]
其中,测量精度需求可包括目标与多目摄像机120的大致远近程度,比如目标是远距离目标还是近距离目标,其中,目标是远距离目标还是近距离目标可根据目标在摄像机所拍摄的图像中的图像区域大小确定,比如图像区域大小小于第一阈值的目标为远距离目标,图像区域大小大于第二阈值的目标为近距离目标。策略精度需求还可包括目标的测量误差阈值,比如目标的测量误差不得小于1米。应理解,上述举例用于说明,本技术不作具体限定。
[0096]
可选地,基线确定单元111可以在确定目标基线后,将携带有目标基线的基线调整请求发送给多目摄像机120,该基线调整请求用于指示多目摄像机120调整摄像机组的基线长度到上述目标基线。
[0097]
同步单元112用于接收多目摄像机120使用目标基线的摄像机组对目标进行采集获得多路视频,比如第一路视频和第二路视频,然后对第一路视频和第二路视频进行时间
同步处理,获得第一图像和第二图像,其中,第一图像和第二图像是在同一时刻对同一目标进行拍摄获得。应理解,由于不同摄像机的时间戳、帧率、网络时延不同,双目摄像机拍摄的两个视频可能会存在时间不同步的情况,比如左侧摄像机时间戳为t1的图像描述的是世界时间为t1时刻下的场景,右侧摄像机时间戳为t1的图像描述的是世界时间为t1+δt时刻下的场景。同步单元112对第一路视频和第二路视频进行时间同步后,可获得同一时刻下的第一图像和第二图像,使用第一图像和第二图像进行接下来视差计算,可以提高最终获得的位置信息的精度。
[0098]
检测匹配单元113用于对第一图像和第二图像中的待测的目标进行检测和识别,获得第一目标区域和第二目标区域,然后对第一目标区域和第二目标区域进行特征点的检测和匹配,从而获得特征点匹配结果,该特征点匹配结果中包括第一目标区域中的特征点和第二目标区域中的特征点之间的对应关系,存在对应关系的特征点描述目标的同一个特征。然后根据特征点匹配结果确定每个特征点的视差信息,根据视差信息和多目摄像机的参数信息确定目标的位置信息。
[0099]
其中,视差信息包括该目标的每一个特征点的视差,具体可以是第一目标区域中的特征点的像素坐标与在第二目标区域中对应的特征点的像素坐标之间的差距,关于视差的描述可以参考图1实施例,这里不重复赘述。
[0100]
位置信息可包括目标与摄像机之间的距离,该距离可个根据视差和多目摄像机的参数信息确定。结合图1实施例中的公式3可知,该参数信息至少包括多目摄像机的基线长度和焦距。位置信息还可包括目标的地理坐标,其中,该地理坐标可以是根据多目摄像机的地理坐标结合上述目标与摄像机之间的距离确定的,具体可根据应用服务130的需求确定,若位置坐标包括目标的地理坐标,上述多目摄像机的参数信息可包括多目摄像机的地理坐标。
[0101]
可以理解的,检测匹配单元113根据特征点的视差信息确定目标的位置信息,无需对第一图像区域和第二图像区域中每个像素进行匹配和视差计算,从而降低定位测距时所需的计算资源,同时避免背景干扰、噪声等问题,提升测距定位的精度。
[0102]
综上可知,本技术提供的目标定位系统,可根据待测的目标确定目标基线,使用该目标基线的摄像机组对目标进行采集获得第一图像和第二图像,然后对第一图像和第二图像进行目标检测和匹配,获得目标所在的第一目标区域和第二目标区域,最后对第一目标区域和第二目标区域进行特征点的检测和匹配,获得特征点匹配结果,根据特征点匹配结果确定每个特征点的视差信息,从而确定目标的位置信息。该系统可根据待测的目标灵活选择目标基线的摄像机组进行数据采集,避免由于固定基线的多目摄像机带来的测距范围受限的问题,提高目标定位系统的测距范围,同时,该系统根据特征点的视差信息确定目标的位置信息,无需对第一图像区域和第二图像区域中每个像素进行匹配和视差计算,从而降低定位测距时所需的计算资源,同时避免背景干扰、噪声等问题,提升测距定位的精度。
[0103]
如图6所示,本技术提供了一种目标定位方法,该方法可应用于图2所示的立体视觉系统的架构中,具体地,该方法可由前述目标定位系统110执行。该方法可包括以下步骤:
[0104]
s310:根据待测的目标的测量精度需求确定目标基线。
[0105]
参考前述内容可知,上述多目摄像机120可包括n个摄像机组,每个摄像机组包括多个摄像机,两两组合可以获得种双目摄像机。多目摄像机120可以在步
骤s310之前将每个摄像机组的基线数据发送至目标定位系统110。目标定位系统110可根据待测的目标的测量精度需求,从上述n(n-1)/2种双目摄像机的基线数据中选择目标基线,并将其发送至多目摄像机120。
[0106]
在一实施例中,参考图4和图5实施例可知,多目摄像机120的基线长度越长,测距精度越大,但是共视区域随着基线长度的变大会逐渐减少,可能会出现目标不在多目摄像机120的共视区域内的情况。因此,可根据多目摄像机120的共视区域大小以及待测的目标的测量精度需求确定目标基线。
[0107]
其中,多目摄像机120采集的基线数据不仅包括每个摄像机组中的多个摄像机之间的基线长度,还可包括多个摄像机之间的共视区域大小,其中,共视区域大小可以根据摄像机组中每个摄像机的拍摄范围确定,该拍摄范围指的是摄像机拍摄的图像中记录的地理区域的范围。
[0108]
具体实现中,可以通过确定每路视频的视频画面中能够显示的最边缘的边缘位置点,确定每个边缘位置点的像素坐标,通过相机标定算法(camera calibration)将其转换为地理坐标后,根据这些地理坐标组成的区域确定该路视频的拍摄范围,进而获得多个摄像机之间的共视区域大小。
[0109]
待测的目标的测量精度需求可包括目标与多目摄像机120的大致远近程度,换句话说,目标的远距离目标或近距离目标。其中,待测的目标是远距离目标还是近距离目标,可以根据多目摄像机采集的图像中目标所在的图像区域大小来确定,远距离目标在摄像机所采集的图像中所占的图像区域很小,近距离目标在摄像机所采集的图像中所占的图像区域很大,因此当图像区域小于第一阈值时,可以确定待测的目标为近距离目标,图像区域小于第二阈值时,可以确定待测的目标为远距离目标。测量精度需求还可包括待测的目标的测量误差阈值,比如测量误差不小于1米。应理解,上述举例用于说明,本技术不作具体限定。
[0110]
在一实施例中,可确定每组摄像机的第一精度指标p1和第二精度指标p2,其中,第一精度指标p1与每组摄像机的基线长度呈反比例关系,第一精度指标p1与每组摄像机的共视区域呈正比例关系,第二精度指标p2与每组摄像机的基线长度和焦距呈正比例关系,共视区域是每组摄像机中的多个摄像机共同拍摄到的区域,然后根据目标的测量精度需求确定第一精度指标p1和第二精度指标p2的权重α,再根据第一精度指标p1、第二精度指标p2和权重α,获得所每组摄像机的综合指标p,从而根据每组摄像机的综合指标,确定目标基线。
[0111]
具体实现中,结合上述结论:“共视区域随着基线长度的变大会逐渐减少”可以获知测距精度p1与共视区域fov之间的关系为:
[0112][0113]
结合上述结论:“基线长度越长,测距精度越大”可以获知基线长度b与测距精度p2之间的关系为:
[0114]
p2=f
×bꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0115]
综合上述两个结论:“基线长度越大,测距精度越大,但是同时共视区域越小”,可以获知综合精度为:
[0116]
p=αλ1p1+(1-α)λ2p2ꢀꢀꢀꢀꢀꢀꢀ
(6)
[0117]
其中,其中,λ1和λ2均为单位转换系数,使得p1和p2的单位一致,能够参与综合精度p的计算。权重α∈(0,1),α的具体值可根据上述测距定位需求来确定。比如待测的目标为远距离目标时,基线长度对测距精度的影响较大,因此可结合待测的目标的测量误差阈值,适当减小α的值,提高基于基线长度的精度指标p2对综合指标的影响;同理,在待测的目标为近距离目标时,共视区域的大小对测距精度的影响较大,因此可结合待测的目标的测量误差阈值,适提高α的值,提高基于共视区的精度指标p1对综合指标的影响。
[0118]
应理解,基于公式(1)~(3),可根据待测的目标确定上述n(n-1)/2种摄像机组的综合指标p,然后将最大的综合指标p对应的基线长度确定为目标基线,将其发送至多目摄像机120。应理解,上述举例用于说明,本技术不对综合指标的具体公式进行限定。
[0119]
s320:根据目标基线获取第一图像和第二图像。
[0120]
具体地,可以根据目标基线向多目摄像机120发送目标基线,然后接收由目标基线对应的摄像机组拍摄的第一图像和第二图像。在一些实施例中,可以向多目摄像机发送携带有目标基线的基线调整请求,待多目摄像机根据基线调整请求将其中至少一个摄像机组的基线长度调整至目标基线并拍摄视频或图像后,然后接收目标基线对应的摄像机组拍摄的第一图像和第二图像。简而言之,该基线调整请求用于指示多目摄像机120调整摄像机组的基线长度到上述目标基线。
[0121]
在一实施例中,将目标基线或者携带有目标基线的基线调整请求发送给多目摄像机后,还可接收由目标基线对应的摄像机组拍摄的第一路视频和第二路视频,对第一路视频和第二路视频进行时间同步处理后,获得第一图像和第二图像,其中,第一路视频和第二路视频是由目标基线对应的摄像机组拍摄获得,第一图像和第二图像是统一时刻下的图像。其中,第一图像是第一路视频中的视频帧,第二图像是第二路视频中的视频帧。
[0122]
应理解,由于多目摄像机中每个摄像机的型号、厂家、时间戳、视频的帧率可能是不相同的,并且网络传输时延也可能会导致传输过程中出现丢帧,摄像机计算性能较差时也容易出现丢帧,因此多个摄像机采集的多路视频难以保证时间同步性。举例来说,摄像头1和摄像头2监控同一个路口,摄像头1由于在t1时刻的对闯红灯的车辆进行了抓拍,使得摄像头1传输的实时视频流自抓拍时刻t1之后20ms内产生的视频帧均丢失,摄像头2没有进行抓拍,也没有出现丢帧的情况,因此目标定位系统110接收到的第一路视频和第二路视频后,自t1时刻起,摄像头2采集的视频比摄像头1采集的视频快20ms,若直接将摄像头1和摄像头2采集的第一路视频和第二路视频进行视差计算,获得的视差信息存在误差,进而导致后续测距定位、三维重建等应用存在障碍。因此,在进行视差计算之前,步骤s320处可对第一路视频和第二路视频进行时间同步处理,从而提高视差计算精度,进而提高测距定位、三维重建等应用的准确性。
[0123]
在一实施例中,可从第一路视频中获取参考帧,从第二路视频中获取多个运动帧,其中,参考帧和多个运动帧中包括运动物体,然后将参考帧与多个运动帧进行特征点匹配,获得多个运动帧中的同步帧,其中,同步帧中的特征点与参考帧中对应的特征点之间连线的平行度满足预设条件,最后根据参考帧和同步帧对第一路视频和第二路视频进行时间同步校正,获得第一图像和第二图像。其中,满足预设条件可以是指将连线之间的平行度最高的帧确定为同步帧。
[0124]
具体地,可通过光流(optical flow)法确定上述参考帧和运动帧。其中,光流指的
是空间运动物体在观察成像平面上的像素运动的瞬时速度,在时间间隔很小时,光流也可等同于空间运动物体的位移。基于此,确定参考帧和运动帧的步骤流程可以如下:先对第一路视频和第二路视频中的每帧图像进行同步目标的目标检测,获得每帧图像中的一个或者多个同步目标,然后通过光流法确定每个同步目标的光流,通过每帧图像中的每个同步目标的光流来判断其是否为运动物体,从而获得包含运动物体的运动帧,以及包含运动物体数量最多参考帧。
[0125]
值得注意的是,对每帧图像进行目标检测时,检测出的同步目标应是有运动可能的目标,而不能是一定静止的目标,比如建筑物。因此同步目标可以是前述内容中待测的目标,也可以是其他目标,本技术不作具体限定。举例来说,如果待测的目标是某一电线杆,那么用于实现时间同步的同步目标可以是行人或者车辆,如果待测的目标是车辆a,那么用于实现时间同步的同步目标可以是车辆和行人,上述例子用于举例说明,本技术不对此进行限定。
[0126]
需要说明的,本技术实施例中的目标检测算法可采用业界已有的用于目标检测具有较优效果的神经网络模型中的任意一种,例如:一阶段统一实时目标检测(you only look once:unified,real-time object detection,yolo)模型、单镜头多盒检测器(single shot multi box detector,ssd)模型、区域卷积神经网络(region convolutional neural network,rcnn)模型或快速区域卷积神经网络(fast region convolutional neural network,fast-rcnn)模型等,本技术不作具体限定。并且,本技术实施例中的光流法也可采用业界已有的用于计算光流具有较优效果的光流法中的任意一种,例如lucas-kanade(lk)光流法,本技术不作具体限定。
[0127]
在一实施例中,可在获得每一帧中每个物体的光流(即物体的瞬时速度)后,通过确定物体的速度在图像行方向上是否有速度分量判断该物体是否是运动物体,具体地,由于多目摄像机(例如图2所示的多目摄像机120)固定于同一高度,若物体在行方向进行运动,物体的行坐标将发生变化,因此若运动帧tn中的物体x与前一帧tn-1(或者后一帧tn+1)中同一物体x的行坐标不相等,即可确定该物体为运动物体。可以理解的是,垂直运动的物体只在列方向进行运动,该类运动物体在图像行方向上没有速度分量,只在列方向上有速度分量,因此垂直运动的物体对视差计算没有贡献,在可将垂直运动物体也当做非运动物体,不参与视差计算,从而减少计算量,提高视差计算的精度和效率。
[0128]
进一步地,将参考帧与运动帧进行匹配时,可将参考帧中的运动物体与运动帧中的运动物体做特征点的匹配,计算出各个特征点行坐标的差值δs,δs越小表示参考帧中的运动物体与运动帧中的运动物体越接近,参考帧中的特征点与运动帧中特征点之间的连线就越平行,如果δs为0,表示两帧同步,若不为0,则表示两帧不同步,因此可根据δs计算出准确的同步偏移时间δt,示例性地,δt的公式可如下:
[0129][0130]
其中,δs1和δs2为特征点差值绝对值最小的两个值,fr为视频帧率,同步偏移时间δt可作为后续每一帧行坐标的补偿,从而获得同步后的第一路视频和第二路视频,进而获得每一时刻下的第一图像和第二图像。
[0131]
举例来说,如图7所示,假设摄像机1的参考帧的帧号为p1,摄像机2的运动帧包括
帧q1、帧q2和帧q3,将摄像机2的运动帧q1与参考帧p1进行特征点匹配,获得各个特征点行坐标的差值的均值δs1,将摄像机2的运动帧q2与参考帧p1进行特征点匹配,获得各个特征点行坐标的差值的均值δs2,将摄像机2的运动帧q3与参考帧p1进行特征点匹配,获得各个特征点行坐标的差值的均值δs3,其中,δs2=0,因此,摄像机2的运动帧q2与参考帧p1中特征点之间的连线是平行的,运动帧q2与参考帧p1是同一时刻下的第一图像和第二图像,因此可将摄像机1的帧p1与摄像机2的帧q2对齐,即摄像机1采集的视频比摄像机2采集的视频慢1帧。当然,也可根据公式(7)获得同步偏移时间δt之后,将摄像机1与摄像机2进行同步,比如偏移时间δt=3ms,即摄像机1比摄像机2快3ms,那么可将摄像机2调快3秒,达到与摄像机1的视频同步的目的。应理解,图4用于举例说明,本技术不作具体限定。
[0132]
在一实施例中,在步骤s320对第一路视频和第二路视频进行视频同步处理之前,还可对第一路视频和第二路视频进行立体校正。应理解,计算视差时使用的公式往往是在假设多目摄像机处于理想境况时推导得出的,所以在使用多目摄像机进行测距定位之前,可将实际使用的多目摄像机120校正为理想状态。以双目摄像机为例,经过立体校正后的双目摄像机,其左右摄像机的图像平面平行,光轴和图像平面垂直,极点位于无限远处,此时的点(x0,y0)对应的极线为y=y0。具体实现中,本技术实施例可采用业界已有的具有较优效果的立体校正方法中的任意一种,例如bouguet极线校正方法,本技术不作具体限定。
[0133]
在一实施例中,步骤s320还可使用多目摄像机在同一时刻对同一目标进行拍摄获得第一图像和第二图像,可以理解的,在步骤s320处使用多目摄像机采集了第一图像和第二图像而不是第一路视频和第二路视频的情况下,可以省去步骤s320对第一路视频和第二路视频进行时间同步处理的步骤,执行步骤s330对第一图像和第二图像进行视差计算,这里不再展开赘述。
[0134]
s330:对第一图像和第二图像进行目标检测和匹配,获得第一图像的第一目标区域和第二图像的第二目标区域。其中,第一目标区域和第二目标区域包括上述待检测的目标。
[0135]
在一实施例中,可将第一图像输入检测匹配模型,获得第一图像的第一检测匹配结果,将第二图像输入检测匹配模型获得第二图像的第二检测匹配结果,根据第一检测匹配结果获得第一目标区域,根据第二检测匹配结果获得第二目标区域。其中,第一检测匹配结果和第二检测匹配结果包括目标框(bounding box)和标签,该目标框用于指示待测的目标在图像中的区域,不同目标的标签不同,根据第一检测匹配结果和第二检测匹配结果中的标签,可以确定第一图像和第二图像中的同一个目标,然后结合上述目标框确定第一目标区域和第二目标区域。
[0136]
具体地,目标检测匹配结果中的目标框可以是矩形框、圆形框、椭圆框等等,本技术不作具体限定。应理解,如果待测目标的数量为多个,检测匹配结果可包括多个目标的多个目标框,因此在检测匹配结果中,可对相同目标使用相同的标签进行标识,不同的目标使用不同的标签进行标识,这样,在对目标进行视差计算时,可根据标签辨别不同路视频帧中的同一目标,从而达到将同一时刻下的第一图像和第二图像中的同一目标进行特征点匹配的目的,进而获得该目标的视差。
[0137]
举例来说,仍以图7所示的例子为例,同步后的第一路视频和第二路视频中,摄像机1的帧p3和摄像机2的帧q4是同一时刻下的第一图像和第二图像,示例性的,摄像机1的帧
p3和摄像机2的帧q4输入上述检测匹配模型后,获得的第一检测匹配结果和第二检测匹配结果可以如图8所示,图8是本技术提供的一种目标定位方法中的目标检测匹配结果的示例图,其中,检测匹配结果为图8中显示的矩形目标框和id标签,id:001和id:002,根据第一检测匹配结果和第二检测匹配结果可获知帧p3中框选出的油罐车与帧q4中框选出的油罐车是同一辆车,帧p3中框选出的巴士与帧q4中框选出的巴士是同一辆车。应理解,图8用于举例说明,目标框还可以是圆形框、椭圆形框等其他表现形式,检测匹配结果显示的id标签还可以是字母、数字等其他表现形式,本技术不作具体限定。
[0138]
可选地,如图9所示,图9是本技术提供的一种目标定位方法中的目标检测模型的结构示意图,该检测匹配模型可包括特征提取模块610和检测匹配模块620。其中,特征提取模块610用于提取输入的第一图像和第二图像中的特征,生成高维度的特征向量,检测匹配模块620用于根据上述特征向量,生成包含目标框和标签的检测匹配结果。举例来说,摄像机1的帧p3和摄像机2的帧q4是同一时刻下的第一图像和第二图像,帧p3和帧q4可先输入特征提取模块610生成高维特征向量,然后将该特征向量输入检测匹配模块620,检测匹配模块620生成如图5所示的检测匹配结果,如果待测的目标是001,那么可以获得图9所示的第一目标区域和第二目标区域,应理解,图9用于举例说明,本技术不作具体限定。
[0139]
在一实施例中,在步骤s310之前,可使用样本集对检测匹配模型进行训练,该样本集可包括第一图像样本、第二图像样本以及对应的样本真值,该样本真值包括目标检测真值和目标匹配真值,其中,目标检测真值包括第一图像样本和第二图像样本中目标的目标框,目标匹配真值包括第一图像样本和第二图像样本中目标的标签,使用该样本集对上述检测匹配模型进行训练时,用于反向传播的检测匹配损失是根据检测匹配模块620的输出值与样本真值之间的差距确定的,根据该检测匹配损失对检测匹配模型的参数进行调整,直至上述检测匹配损失达到阈值后,获得训练好的检测匹配模型。
[0140]
具体实现中,特征提取模块610可以是vgg、resnet等用于提取图像特征的神经网络骨干结构,上述检测匹配模块620可以是目标检测网络,比如yolo网络、ssd网络、rcnn等等,本技术不作具体限定。
[0141]
应理解,本技术通过将相同的目标标记为相同标签的方式,可以将第一图像和第二图像输入检测匹配模型后,根据标签是否相同确定第一目标区域和第二目标区域,而不是对目标进行图像识别来确定第一图像和第二图像中的同一目标,可以减少计算复杂度,提高第一目标区域和第二目标区域的获取效率,进而提高测距定位的效率。
[0142]
s340:对第一目标区域和第二目标区域进行特征点检测和匹配,获得特征点匹配结果。其中,特征点匹配结果包括第一目标区域中的特征点与第二目标区域中特征点之间的对应关系,存在该对应关系的特征点描述的是待测的目标的同一个特征。比如待测的目标是行人,该行人的特征点包括眼睛、鼻子和嘴巴,那么第一目标区域中该行人的眼睛与第二目标区域中该行人的眼睛之间存在对应关系。
[0143]
在一实施例中,可使用特征点检测算法对第一目标区域和第二目标区域进行特征点检测,获得第一目标区域的特征点以及第二目标区域的特征点,由于每个目标区域中的目标是同一个目标,因此第一目标区域的特征点,在第二目标区域中存在与其对应的特征点。
[0144]
可选地,本技术实施例中的特征点检测和匹配算法可以是特征点提取算法
(features from accelerated segment test,fast)、特征点描述算法(binary robust independent elementary features,brief)、结合fast和brief的算法(oriented fast and rotated brief,orb)、加速稳健特征算法(speeded up robust features,surf)、加速kaze特征算法(accelerated kaze features,akaze)等等,本技术不作具体限定。
[0145]
仍以图7~图9实施例描述的例子为例,待测的目标为id:001的车辆,第一目标区域和第二目标区域如图10所示,图10是本技术提供的一种目标定位方法中特征点检测和匹配的流程示意图,对第一目标区域和第二目标区域进行特征点检测和匹配后,可获得如图10所示的特征点匹配结果。示例性的,图10显示了部分特征点匹配结果,第一目标区域中检测出的每一个特征点,在第二目标区域中将会有与其对应的特征点。应理解,图10将存在对应关系的特征点之间以连线表示,具体实现中,特征点匹配结果可以用其他方式表示特征点之间的对应关系,图10用于举例说明,本技术不作具体限定。
[0146]
s350:根据特征点匹配结果和多目摄像机的参数信息,确定目标的位置信息。
[0147]
其中,多目摄像机的参数信息至少包括多目摄像机的基线长度和焦距,还可包括多目摄像机的地理坐标信息。目标的位置信息可包括目标与多目摄像机之间的距离,还可包括目标的地理坐标,本技术不作具体限定。
[0148]
具体地,可以根据特征匹配结果中存在对应关系的特征点之间的像素差异,获得目标的视差信息,该视差信息包括第一目标区域中的特征点的像素坐标与第二目标区域中对应特征点的像素坐标之间的差距,结合图1实施例和公式3,可以根据视差信息、基线长度b以及焦距f确定目标与多目摄像机之间的距离,根据多目摄像机的地理坐标信息,可以确定目标的地理坐标。
[0149]
具体实现中,确定每个特征点在第一目标区域中的像素坐标与第二目标区域中的像素坐标之间的差距后,取部分可信的像素差异作为视差,或者取平均值作为该目标的视差信息,然后使用该视差信息进行距离计算,本技术不作具体限定。举例来说,若第一目标区域包括目标x的特征点a1和b1,第二目标区域中包括目标x的特征点a2和b2,其中,a1和a2是同一个特征点,b1和b2是同一个特征点,在确定特征点a1和特征点a2之间的像素差异d1,以及特征点b1和特征点b2之间的像素差异d2之后,可根据像素差异d1和像素差异d2的平均值确定该目标的视差,进而获得该目标与双目摄像机之间的距离,应理解,上述举例用于说明,本技术不作具体限定。
[0150]
示例性的,如图11所示,图11是本技术提供的一种目标定位方法在一应用场景下的特征点匹配结果示意图,以测量人物y与双目摄像机的距离这一实际的应用场景为例,使用本技术提供的目标定位方法,可先根据测量精度需求(比如人物y是近距离目标,测量误差为正负1米),结合公式(4)~(6)确定目标基线,然后将目标基线发送至多目摄像机120,获得由该目标基线对应的摄像机组拍摄的第一图像和第二图像,再将该第一图像和第二图像输入图9所示的检测匹配模型,获得如图11所示的第一检测匹配结果和第二检测匹配结果,根据第一检测匹配结果和第二检测匹配结果中的目标框和标签,获得包含人物y的第一目标区域和第二目标区域,对该第一目标区域和第二目标区域进行特征点检测和匹配后可获得如图11所示的特征点匹配结果,根据存在对应关系的多组特征点之间的像素差异,确定人物y的视差,可定位出人物y离相机的距离为14.2m。应理解,图11用于举例说明,本技术不作具体限定。
[0151]
可以理解的,由于视差是根据特征点之间的差异确定的,而不是对第一目标区域和第二目标区域中每一个像素之间的差异确定,不但可以降低计算量,提高视差计算效率,而且由于特征点不仅能够处于像素内,也可处于像素与像素之间,换句话说,基于像素匹配的方式确定视差的精度是整数级别,基于特征点匹配的方式确定视差的精度为小数级别,因此本技术通过特征点匹配的方式进行视差计算的精度更高,进而使得测距定位的准确度更高。
[0152]
本技术提供的方案还可提高无纹理物体的视差计算准确度,进而提高无纹理物体的测距定位精度。可以理解的,在使用多目摄像机拍摄无纹理物体时,无纹理物体的像素差别很小,导致计算不同路图像的像素点之间的差异来确定目标视差的方法,精度很差。但是使用本技术提供的方案,将目标所在的第一目标区域和第二目标区域提取出来,然后对第一目标区域和第二目标区域进行特征点匹配获得特征点匹配结果,根据特征点匹配结果确定视差,可以提升无纹理物体的匹配精度。
[0153]
示例性的,以测量无纹理物体z与双目摄像机的距离这一实际的应用场景为例,如图12所示,图12是本技术提供的一种无纹理物体的示意图,假设无纹理物体z为棋盘格,将棋盘格放置在距离双目摄像机7.5m的位置处,使用某品牌双目相机拍摄棋盘格输出的深度值为6.7m,而使用本技术提供的方案输出的深度值为7.2米,因此本技术提供的方案视差计算的准确度更高,具有更好的测距定位精度。
[0154]
本技术提供的方案还可提高遮挡场景下的视差计算准确度,进而提高被遮挡物体的测距定位精度。可以理解的,由于被遮挡物体的像素被遮盖,表现为遮挡物的像素,导致计算不同路图像的像素点之间的差异来确定目标的视差的方法,精度很差,但是使用本技术提供的方案,在使用图9所示的检测匹配模型对目标进行目标检测和匹配后,能够将被遮挡物体的位置预估出来,对被遮挡物体进行补充,获得补充后的第一目标区域和第二目标区域,再对其进行特征点检测和匹配,获得特征点匹配结果,根据特征待匹配结果确定目标的视差信息,获得目标与多目摄像机之间的距离,这样计算出的视差准确度更高,被遮挡物体的测距精度也更高。
[0155]
举例来说,如图13所示,图13是本技术提供的一种遮挡场景下的确定第一目标区域和第二目标区域的步骤流程示意图,假设目标004第一目标区域中未被目标005遮挡,而在第二目标区域中目标004被目标005遮挡,如果直接根据第一目标区域和第二目标区域之间的像素之间差异确定目标的视差信息,由于目标004在右侧图像中被目标005遮挡,将导致最后获得视差不准确,进而导致测距定位精度低。使用本技术提供的方案在对该组第一目标区域和第二目标区域中的目标004进行视差计算时,可以先将第二目标区域中目标004的位置预估出来,然后再进行特征点检测和匹配,获得特征点匹配结果,从而获得目标004的视差,进而获得目标004的测距定位结果,本技术提供的方案在遮挡场景下的视差计算准确度更高。
[0156]
综上可知,本技术提供了一种目标定位方法,该方法可根据待测的目标确定目标基线,使用该目标基线的摄像机组对目标进行采集获得第一图像和第二图像,然后对第一图像和第二图像进行目标检测和匹配,获得目标所在的第一目标区域和第二目标区域,最后对第一目标区域和第二目标区域进行特征点的检测和匹配,获得特征点匹配结果,根据特征点匹配结果确定每个特征点的视差信息,从而确定目标的位置信息。该系统可根据待
测的目标灵活选择目标基线的摄像机组进行数据采集,避免由于固定基线的多目摄像机带来的测距范围受限的问题,提高目标定位系统的测距范围,同时,该系统根据特征点的视差信息确定目标的位置信息,无需对第一图像区域和第二图像区域中每个像素进行匹配和视差计算,从而降低定位测距时所需的计算资源,同时避免背景干扰、噪声等问题,提升测距定位的精度。
[0157]
上面详细阐述了本技术实施例的方法,为了便于更好地实施本技术实施例上述方案,相应地,下面还提供用于配合实施上述方案的相关设备。
[0158]
本技术中目标定位系统110按照功能进行模块或者单元的划分可以有多种划分方式。例如前述图2所示的,目标定位系统110可以包括基线确定单元111、同步单元112以及检测匹配单元113。具体各个模块的功能可以参照前述描述,此处不赘述。在另一种实施例中,目标定位系统110还可以根据功能进行进一步的单元划分,例如,图14是本技术提供的另一种目标定位系统110的结构示意图。
[0159]
如图14所示,本技术提供了一种目标定位系统110,如图14所示,该目标定位系统110看包括:基线确定单元1410、获取单元1420、同步单元1430、检测匹配单元1440以及位置确定单元1450。
[0160]
获取单元1420,用于获取第一图像和第二图像,第一图像和第二图像是多目摄像机在同一时刻对同一目标进行拍摄获得;
[0161]
检测匹配单元1440,用于对第一图像和第二图像进行目标检测和匹配,获得第一图像的第一目标区域和第二图像的第二目标区域,其中,第一目标区域和第二目标区域包括目标;
[0162]
检测匹配单元1440,用于对第一目标区域和第二目标区域进行特征点检测和匹配,获得特征点匹配结果,其中,特征点匹配结果包括第一目标区域中的特征点与第二目标区域中的特征点之间的对应关系,存在对应关系的特征点描述目标的同一个特征;
[0163]
位置确定单元1450,用于根据特征点匹配结果和多目摄像机的参数信息,确定目标的位置信息。
[0164]
在一实施例中,参数信息至少包括多目摄像机的基线长度和多目摄像机的焦距;位置确定单元1450,用于根据特征点匹配结果中存在对应关系的特征点之间的像素差异,获得目标的视差信息,视差信息包括第一目标区域中的特征点的像素坐标与第二目标区域中存在对应关系的特征点的像素坐标之间的差距;位置确定单元1450,用于根据目标的视差信息、多目摄像机的基线长度以及多目摄像机的焦距,确定目标与摄像机之间的距离,获得目标的位置信息。
[0165]
在一实施例中,多目摄像机包括多个摄像机组,多个摄像机组中的每组摄像机包括多个摄像机,基线确定单元1410,用于获取多目摄像机的基线数据,基线数据包括每组摄像机中的多个摄像机之间的基线长度;基线确定单元1410,用于根据目标的测量精度需求,从基线数据中获取目标基线;获取单元1420,用于根据目标基线获取第一图像和第二图像,其中,第一图像和第二图像是目标基线对应的摄像机组拍摄获得。
[0166]
在一实施例中,基线确定单元1410,用于向多目摄像机发送携带目标基线的基线调整请求,基线调整请求用于指示多目摄像机调整该多目摄像机包括的摄像机组的基线长度到所述目标基线;获取单元1420,用于接收目标基线对应的摄像机组拍摄的第一图像和
第二图像。
[0167]
在一实施例中,基线确定单元1410,用于确定每组摄像机的第一精度指标和第二精度指标,其中,第一精度指标与每组摄像机的基线长度呈反比例关系,第一精度指标与每组摄像机的共视区域呈正比例关系,第二精度指标与每组摄像机的基线长度和焦距呈正比例关系,共视区域是每组摄像机中的多个摄像机共同拍摄到的区域;基线确定单元1410,用于根据目标的测量精度需求确定第一精度指标和第二精度指标的权重;基线确定单元1410,用于根据第一精度指标、第二精度指标和权重,获得所每组摄像机的综合指标;基线确定单元1410,用于根据每组摄像机的综合指标,确定目标基线。
[0168]
在一实施例中,同步单元1430,用于接收多目摄像机对目标进行拍摄获得的第一路视频和第二路视频;同步单元1430,用于对第一路视频和第二路视频进行时间同步处理,获得同一时刻的第一图像和第二图像,其中,第一图像是第一路视频中的图像帧,第二图像是第二路视频中的图像帧。
[0169]
在一实施例中,同步单元1430,用于从第一路视频中获取参考帧,从第二路视频中获取多个运动帧,其中,参考帧和多个运动帧中包括运动物体;同步单元1430,用于将参考帧与多个运动帧进行特征点匹配,获得多个运动帧中的同步帧,其中,同步帧中的特征点与参考帧中对应的特征点之间连线的平行度满足预设条件;同步单元1430,用于根据参考帧和同步帧对第一路视频和第二路视频进行时间同步校正,获得同一时刻的第一图像和第二图像。
[0170]
在一实施例中,检测匹配单元1440,用于将第一图像输入检测匹配模型,获得第一图像的第一检测匹配结果,将第二图像输入检测匹配模型,获得第二图像的第二检测匹配结果,其中,第一检测匹配结果和第二检测匹配结果包括目标框和标签,目标框用于指示目标在图像中的区域,同一目标的标签相同;检测匹配单元1440,用于根据第一检测匹配结果获得第一目标区域,根据第二检测匹配结果获得第二目标区域。
[0171]
应理解,目标定位系统110内部的单元模块也可以有多种划分,各个模块可以是软件模块,也可以是硬件模块,也可以部分是软件模块部分是硬件模块,本技术不对其进行限制。并且,图2和图14均为示例性的划分方式,举例来说,在一些可行的方案中,图14中的获取单元1420也可以省略;在另一些可行的方案中,图14中的位置确定单元1450也可以省略;在另一些可行的方案中,图14中的检测匹配单元1440也可进一步划分多个模块,比如用于获得第一目标区域和第二目标区域的图像检测匹配模块,以及用于获得特征点匹配结果的特征点检测模块,本技术不对此进行限定。
[0172]
综上可知,本技术提供了一种目标定位系统,该系统可根据待测的目标确定目标基线,使用该目标基线的摄像机组对目标进行采集获得第一图像和第二图像,然后对第一图像和第二图像进行目标检测和匹配,获得目标所在的第一目标区域和第二目标区域,最后对第一目标区域和第二目标区域进行特征点的检测和匹配,获得特征点匹配结果,根据特征点匹配结果确定每个特征点的视差信息,从而确定目标的位置信息。该系统可根据待测的目标灵活选择目标基线的摄像机组进行数据采集,避免由于固定基线的多目摄像机带来的测距范围受限的问题,提高目标定位系统的测距范围,同时,该系统根据特征点的视差信息确定目标的位置信息,无需对第一图像区域和第二图像区域中每个像素进行匹配和视差计算,从而降低定位测距时所需的计算资源,同时避免背景干扰、噪声等问题,提升测距
定位的精度。
[0173]
图15是本技术提供的一种计算设备900的结构示意图,该计算设备900可以是前述内容中的目标定位系统110。如图15所示,计算设备900包括:处理器910、通信接口920以及存储器930。其中,处理器910、通信接口920以及存储器930可以通过内部总线940相互连接,也可通过无线传输等其他手段实现通信。本技术实施例以通过总线940连接为例,总线940可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线940可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0174]
处理器910可以由至少一个通用处理器构成,例如中央处理器(central processing unit,cpu),或者cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic)、可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。处理器910执行各种类型的数字存储指令,例如存储在存储器930中的软件或者固件程序,它能使计算设备900提供多种服务。
[0175]
存储器930用于存储程序代码,并由处理器910来控制执行,以执行上述实施例中目标定位系统的处理步骤。程序代码中可以包括一个或多个软件模块,这一个或多个软件模块可以为图14实施例中提供的软件模块,如获取单元、检测匹配单元和位置确定单元,其中,获取单元用于获取第一图像和第二图像,检测匹配单元用于将第一图像和第二图像输入检测匹配模型,获得第一目标区域和第二目标区域,然后对第一目标区域和第二目标区域进行特征点检测和匹配,获得特征点匹配结果,位置确定单元用于根据特征点匹配结果和多目摄像机的参数信息,确定目标的位置信息。具体可用于执行图6实施例中的s310-步骤s350及其可选步骤,还可以用于实现图1-图13实施例描述的目标定位系统110的其他功能,这里不再进行赘述。
[0176]
需要说明的是,本实施例可以是通用的物理服务器实现的,例如,arm服务器或者x86服务器,也可以是基于通用的物理服务器结合nfv技术实现的虚拟机实现的,虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,本技术不作具体限定。
[0177]
存储器930可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram);存储器1030也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);存储器930还可以包括上述种类的组合。存储器930可以存储有程序代码,具体可以包括用于执行图1-图13实施例描述的其他步骤的程序代码,这里不再进行赘述。
[0178]
通信接口920可以为有线接口(例如以太网接口),可以为内部接口(例如高速串行计算机扩展总线(peripheral component interconnect express,pcie)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与与
其他设备或模块进行通信。
[0179]
需要说明的,图15仅仅是本技术实施例的一种可能的实现方式,实际应用中,计算设备900还可以包括更多或更少的部件,这里不作限制。关于本技术实施例中未示出或未描述的内容,可参见前述图1-图13实施例中的相关阐述,这里不再赘述。
[0180]
应理解,图15所示的计算设备还可以是至少一个服务器构成的计算机集群,本技术不作具体限定。
[0181]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在处理器上运行时,图1-图13所示的方法流程得以实现。
[0182]
本技术实施例还提供一种计算机程序产品,当计算机程序产品在处理器上运行时,图1-图13所示的方法流程得以实现。
[0183]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd)、或者半导体介质。半导体介质可以是ssd。
[0184]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1